Mybatis最入门---基本增改删查(CRUD)

mybatis注解的详解和开发(增、删、改、查以及一对一、一对多/多对一、多对多的关系联查) Results代替了标签< resultMap> 该注解中可以使用单个@Result注解,也可以使用@Result集合格式:@Results ({@Result () , @Result ()}) 或者@Result (@Result())id 是否是主键字段column 数据库中列的名property 需要装配的属性名one 需要使用 @One 注解 (@Result (one = @One) ()) 阅读详情

[一步是咫尺,一步即天涯]

使用前面的文章解决了Mybatis的配置问题后,本文我们正式来介绍使用Mybatis来开发,从最简单的增改删查开始,后面我们会逐步介绍Mybatis的更多用法,敬请期待!

惯例,先来看看我们的准备工作有:

a.操作系统 :win7 x64

b.基本软件:MySQL,Mybatis,SQLyog

-------------------------------------------------------------------------------------------------------------------------------------

1.创建Mybatis02工程,工程结构图如下:


2.pom文件内容如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.java.mybatis</groupId>
	<artifactId>mybatis03</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>mybatis01</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.3.1</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.26</version>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
	</dependencies>
</project>

-------------------------------------------------------------------------------------------------------------------------------------

【鉴于篇幅的关系,下文中确实的其他文件请参照前文HelloWorld工程】

一.查询工程

1.修改UserMapper.xml文件,具体内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.csdn.ingo.dao.UserDao">
	<select id="findUserById" parameterType="String" resultType="User">
		select * from sysuser where id=#{id}
	</select>
</mapper> 
2.修改UserDao文件,具体内容如下:

package com.csdn.ingo.dao;

import com.csdn.ingo.entity.User;

/**
*@author 作者 E-mail:ingo
*@version 创建时间:2016年4月17日下午6:26:40
*类说明
*/
public interface UserDao {
	User findUserById(String id);
}

3.创建单元测试类UserTest.java,具体内容如下:
package com.csdn.ingo.main;
import static org.junit.Assert.*;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.csdn.ingo.dao.UserDao;
import com.csdn.ingo.entity.User;
import com.csdn.ingo.util.SqlSessionFactoryUtil;

/**
*@author 作者 E-mail:ingo
*@version 创建时间:2016年4月18日下午5:14:16
*类说明
*/
public class UserTest {
	private static Logger log = Logger.getLogger(UserTest.class);
	
	private SqlSession sqlSession = null;
	
	private UserDao userDao = null;
	@Before
	public void setUp() throws Exception {
		log.info("方法执行前调用");
		sqlSession = SqlSessionFactoryUtil.openSession();
	}

	@After
	public void tearDown() throws Exception {
		log.info("方法执行后调用");
		sqlSession.close();
	}

	@Test
	public void testSelet() {
		UserDao userDao = sqlSession.getMapper(UserDao.class);
		String id = "admin";
		User curUser = userDao.findUserById(id);
		if(curUser!=null){
			log.info("成功找到用户:"+curUser.getId());
		}
	}
}
4.测试方法:在testUpdate()方法上,右键--->run as --->junit test即可。

如果发生错误,请仔细对照上文。

--------------------------------------------------------------------------------------------------------------------------------------------------------

二。修改功能

1.在UserMapper.xml文件中增加update语句,具体内容如下:

<update id="updateUser" parameterType="User">
	update sysuser set password=#{password} where id=#{id}
</update>
2.在UserDao中增加update方法,具体内容:

public interface UserDao {
	User findUserById(String id);
	int updateUser(User newUser);
}
3.创建修改单元测试用例,具体内容如下:

@Test
public void testUpdate() {
	UserDao userDao = sqlSession.getMapper(UserDao.class);
	User curUser =  new User("admin","changed");
	int re = userDao.updateUser(curUser);
	sqlSession.commit();
	if(re==1){
		log.info("UpdateUser:"+curUser.getId());
	}
}

4.测试方法:在testUpdate()方法上,右键--->run as --->junit test即可。

如果发生错误,请仔细对照上文。

--------------------------------------------------------------------------------------------------------------------------------------------------------

三。插入功能

1.在UserMapper.xml文件中增加insert语句,具体内容如下:
<insert id="insertUser" parameterType="User" >
	insert into sysuser (Id,password) values(#{id},#{password})
</insert>
2.在UserDao中增加insert方法,具体内容:
public interface UserDao {
	User findUserById(String id);

	int insertUser(User newUser);
	
	int updateUser(User newUser);
}
3.创建插入单元测试用例,具体内容如下:
@Test
public void testInsert() {
	UserDao userDao = sqlSession.getMapper(UserDao.class);
	User newUser =  new User("customer222","customer222");
	int re = userDao.insertUser(newUser);
	sqlSession.commit();
	if(re==1){
		log.info("insertUser:"+newUser.getId());
	}
}

4.测试方法:在testUpdate()方法上,右键--->run as --->junit test即可。

如果发生错误,请仔细对照上文。

--------------------------------------------------------------------------------------------------------------------------------------------------------

四。删除功能

1.在UserMapper.xml文件中增加delete语句,具体内容如下:
<delete id="deleteUser" parameterType="String">
	delete from sysuser where id=#{id}
</delete>
2.在UserDao中增加delete方法,具体内容:
public interface UserDao {
	User findUserById(String id);

	int insertUser(User newUser);
	
	int updateUser(User newUser);
	
	int deleteUser(String id);
}
3.创建修改单元测试用例,具体内容如下:

@Test
public void testDelete() {
	UserDao userDao = sqlSession.getMapper(UserDao.class);
	String id = "customer";
	int re = userDao.deleteUser(id);
	sqlSession.commit();
	if(re==1){
		log.info("deleteUser:"+id);
	}
}

4.测试方法:在testUpdate()方法上,右键--->run as --->junit test即可。

如果发生错误,请仔细对照上文。

-------------------------------------------------------------------------------------------------------------------------------------

至此,Mybatis最入门---基本增改删查(CRUD)结束

备注:
本文我们只介绍Mybatis中最简单的增改删差功能,下一篇文章,我们将详细介绍mapper文件的配置与解释,敬请期待!









Arduino——GY39大气压、温湿度、光照模块 前几天买东西的时候买了一个GY39,这个模块集成了温湿度,大气压,海拔,光照一体,使用起来很方面。它有两种工作模式使用串口模式时需要搭配转接板,我选择了IIC模式,看一下通信协议吧,就是关于高八位和低八位的数据。看一下接线。 阅读详情

相关推荐

AI办公Agent技术:文档与表格智能处理实践

办公自动化技术正从规则驱动转向语义理解,大语言模型(LLM)为办公Agent赋予了智能决策能力。这类系统通过五层架构整合自然语言处理、工具API调用和任务规划引擎,能自动完成文档分类、表格分析等高重复性工作。关键技术包括基于TF-IDF和BERT的特征提取、Excel公式自动生成等,在财务报告、法律审查等场景可实现90%以上的效率提升。随着多模态能力和领域专业化发展,办公Agent正在重塑企业文档处理流程,成为数字化转型的核心基础设施。

weixin_30263277的博客 519

MySQL的基本操作---增、删、改、查

MySQL基操总结 MySQL的基本操作就是以下的增删改查语句,是我们作为IT工作者都必须要会的命令,也是IT行业面试最常考的知识点,由于是入门级基础命令,所有操作都建立在单表上,不涉及多个表的操作。 首先我们通过简单的sql语句来建立一个单独的测试表,后面的测试就看它啦: 1、“增”——添加数据 1.1 为表中所有字段添加数据1.1.1 INSERT 语句中指定所有字段名 语法:INSERT ...

qq_40883945的博客 1068

银河麒麟服务器操作系统V10 SP1:跨架构激活与设备更换无忧指南

本文详细解析了银河麒麟服务器操作系统V10 SP1的跨架构激活新特性。该特性彻底解除了授权与CPU架构的绑定,允许同一份授权在x86、ARM、龙芯等不同架构服务器间灵活使用。文章提供了从新设备激活到硬件更换后保持激活状态的全流程实战指南,并分享了内网环境部署等高级技巧,助力企业简化运维、提升硬件资源管理灵活性。

ff678的博客 350

MYSQL中的增删改查操作(如果想知道MYSQL中有关增删改查操作的知识,那么只看这一篇就足够了!)

MYSQL中的增删改查操作(如果想知道MYSQL中有关增删改查操作的知识,那么只看这一篇就足够了!)

秋刀鱼不做梦的编程日常 7943

电子货架标签应用浅析(ESL)

​【 关注与分享,是对原创最大的鼓励 】 年底了,会断续介绍几个主要的BLE的应用及市场情况,这篇文章介绍的是电子货架标签, ESL (Electronic Shelf Label)。 文章将从应用简介,市场规模,产业链,头部玩家及系统框架进行介绍。只对技术感兴趣的可以直接拉到底。 ESL简介 ESL,是一种显示产品,其主要是替代传统的纸质标签,应用于大型商超,...

iotthings的博客 4691

保姆级教程:用GlobleLand30数据+GTB3.3软件,一步步搞定MSPA景观格局分析

本文提供GlobleLand30数据结合GTB3.3软件进行MSPA景观格局分析的保姆级教程,涵盖数据预处理、软件操作、结果解读全流程,特别针对零基础用户常见问题提供解决方案,助力研究者高效完成景观生态学分析。

weixin_26757925的博客 450

顺序表的增、删、改、查

/存储数据的底层结构//记录顺序表的空间大小int size;//记录顺序表当前有效的数据个数}SL;细心的小伙伴们发现我也给结构体取了一个别名SL,这样也是为了方便接下来的使用。当然你也可以这样写//存储数据的底层结构//记录顺序表的空间大小int size;//记录顺序表当前有效的数据个数。

weixin_71964451的博客 1294

RV1126平台JD9366触摸屏驱动移植实战:从源码到烧录的完整指南

本文详细介绍了在RV1126平台上移植JD9366触摸屏驱动的完整流程,从环境准备、源码获取到驱动配置、内核编译、设备树设置以及固件烧录与测试验证。通过实战经验分享和常见问题排查,帮助开发者高效完成触摸屏驱动移植,适用于嵌入式Linux开发场景。

weixin_30872337的博客 409

SQL Server语句上的(增,删,查,改)和数据类型

SQL Server语句上的(增,删,查,改)语句和数据类型

Good_1001的博客 1233

EtherCAT主站SOEM -- 24 -- 基于STM32F767IGT6搭建自己的SOEM-EtherCAT主站

以上就是EtherCAT主站SOEM – 23 – 基于STM32F767IGT6搭建自己的SOEM-EtherCAT主站的内容。有不明白的地方欢迎留言;有建议欢迎留言,我后面编写文档好改进。创作不容,如果文档对您有帮助,记得给个赞。

常驻客栈的博客--嵌入式EtherCAT 3555

【重要内容】敬告读者

由于优快云近期将要搞事情,此专栏建议已购买的用户将内容保存到本地。尚未购买的用户请待9月1日后再决定是否需要购买。如此规则上线,本人将会关闭此专栏。并寻找其他渠道进行发布。

魔落的博客 910

SQL增删改查语句

最近项目中得用到SQL语句,我复习了一下,把它总结下来 一,增 1.1【插入单行】 insert [into] (列名) values (列值) 例:insert into Students (姓名,性别,出生日期) values ('苏宇','男','1980/6/15') 1.2【将现有表数据添加到一个已有表】 insert i

Ocean111best的博客 1734

105、LLC谐振变换器的LTspice仿真建模

文章摘要:本文分享了LLC谐振变换器在LTspice中的仿真建模经验。作者从实际调试中炸管的教训出发,指出数学计算无法捕捉瞬态问题,必须通过仿真验证。详细介绍了半桥LLC主电路搭建、理想元件选择、开环增益扫频、闭环控制实现等关键步骤,重点讲解了启动过程、ZVS验证和短路保护等高风险工况的仿真技巧。文章提供了实用参数设置建议和LTspice代码片段,强调先开环后闭环的调试顺序,并提醒仿真结果需保留20%设计裕量。最后总结了谐振电流波形观察、死区时间优化等经验性建议。

Jack010169的博客 227

Mybatis-plus中通用mapper的CRUD(增、删、改、查)操作封装BaseMapper和IService(最详细)

使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL。而且,当数据库表结构改动时,对应的所有SQL以及实体类都需要更改。这工作量和效率的影响或许就是区别增删改查程序员和真正程序员的屏障。Mybatis−plus中通用mapper就把普通的增删改查操作封装成了BaseMapper和IService。

先谢郭嘉的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

MyBatis(环境配置+基本CRUD)

3.父子模块环境配置 1.创建maven父项目 2.mybatis-config.xml配置mybatis配置文件(名字任意,放在resources下) 3.Monster.java映射表结构的bean 属性名与表的列名保持一致 需要有无参构造器(反射使用) 4.Mapper的配置 1.MonsterMapper.java操作Monster表的接口 2.MonsterMapper.xml与MonsterMapper相对应的xml 5.修改mybatis-config.xml配置要管理的Mapp

Sun的个人博客 3383

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

面向接口的方式进行CRUD

在传统的JavaWeb开发中DAO(Data Access Object)层通常需要你手写接口和实现类,接口定义了数据库操作方法,而实现类则具体实现这些方法,使用JDBC或其他持久化技术进行数据库操作。但是在MyBatis框架中你只需要定义DAO接口,MyBatis会根据XML配置文件或注解自动生成接口的实现类。这样就不需要手动编写实现类了,减少了大量的代码工作。其背后的原理是MyBatis使用动态代理来为这些接口生成实现类,执行SQL操作。手写DAO层DAO接口:定义基本的CRUD方法。

gege_0606的博客 1722

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MyBatis入门——基本CRUD代码编写

MyBatis入门——基本CRUD代码编写前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、pandas是什么? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import nu

Weiyu Tang的博客 970

Mybatis 注解开发实现最基本的CRUD

mybatis 的常用注解说明 注解开发越来越流行,Mybatis 也可以使用注解开发方式,这样我们就可以减少编写 Mapper 映射 文件了。本次我们先围绕一些基本的 CRUD 来学习。 一、mybatis 的常用注解说明 1.@Insert:实现新增 2.@Update:实现更新 3.@Delete:实现删除 4.@Select:实现查询 5.@Result:实现结果集封装 6.@Result...

maybe_ice的博客 439

MyBatis plus与MyBatis分别实现简单的CRUD

通过MyBatis与MyBatis plus分别实现简单的CRUD,更加直观的区分它们之间的不同的编写风格。MyBatis SQL语句SQL语句封装在配置文件中,便于统一管理与维护;提供了动态SQL标签,支持编写动态SQL。以及提供映射标签,支持对象与数据库的ORM字段关系映射。访问数据库的 sql 语句存放于 mapper (或Dao) 包下的 xml 配置文件中。MyBatis plus SQL语句。

qq_35130745的博客 1914

第一个Mybatis程序(Mybatis简介、Mybatis工作原理、Mybatis核心组件、CRUD增查改删)

环境: jdk1.8 MySQL5.7 maven 3.6.1 IDEA 1.简介 1.1、什么是mybatis? MyBatis 是一款优秀的持久层框架 它支持自定义 SQL、存储过程以及高级映射。 MyBatis免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis 本是apache的

Learn to value time 263

springboot基本CRUD

MyBatis-Plus的核心功能摘要:BaseMapper接口提供了内置的CRUD方法,包括insert、deleteById、updateById、selectById等基本操作,支持ID泛型,无需编写mapper.xml文件。通过Wrapper条件构造器可灵活设置SQL条件。插入数据默认使用雪花算法生成ID。IService接口进一步封装了业务层CRUD操作,采用get、remove、list、page等前缀命名方法。开发时可通过继承BaseMapper和IService快速实现数据访问层和业务层功能

qq_73993301的博客 4393

Mybatis持久层框架入门之CRUD实例

Mybatis持久层框架入门之CRUD实例 关于作者 作者介绍 🍓 博客主页:作者主页 🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆 🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨‍💻 文章目录Mybatis持久层框架入门之CRUD实例关于作者3、MyBatis第一个程序3.1、代码演示3.2、问题说明4、CRUD操作4.1、namespace4.2、select4.3、insert4.4、u

Java厂长 1184

手把手带你入门 MyBatis-Plus:快速掌握高效 CRUD 操作

(MP)是基于MyBatis的增强工具,旨在简化开发流程并提高效率。MP 不改变 MyBatis 的核心功能,仅在其基础上做出增强。使用 MyBatis-Plus 能有效降低代码重复,提升数据库操作的便捷性。MyBatis-Plus 允许自定义 Mapper 方法,使用 XML 映射文件或注解完成更复杂的查询。MyBatis-Plus 作为 MyBatis 的增强工具,通过简化代码编写、提高开发效率,为开发者提供了极大的便利。

venus_patton的博客 1245

MyBatis-Plus入门篇——CRUD

写在前面 有粉丝私信我说,现在市面上用MyBatis的不多了,一般都是用MyBatis-Plus,建议我出一套MyBatis-Plus的文章,首先感谢建议,然后就是干! MyBatis-Plus简介 MyBatis-Plus(简称MP),其实就是MyBatis的一个增强,即把单表的增删改查给封装好了,直接拿来使用即可。 准备工作 首先创建一张数据库表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL CO.

4085

使用 MyBatis 实现基本的 CRUD 操作

MyBatis 是一个优秀的持久层框架,它通过 XML 或注解将 SQL 查询、存储过程以及 Java 对象关联起来,简化了数据持久层的开发。本文将详细介绍如何使用 MyBatis 实现基本的 CRUD(Create、Read、Update、Delete)操作。

FireFox1997 1395

MyBatis-Plus 入门详解:从简介到 CRUD 实战

MyBatis-Plus(简称 MP)是 MyBatis 的增强工具,它在 MyBatis 的基础上只做增强、不做改变,核心目标是简化开发流程、提高开发效率。通过提供通用的 Mapper 和 Service,MP 可以让开发者在不编写任何 SQL 语句的前提下,快速实现单表的增删改查(CRUD)、批量操作、逻辑删除、分页等功能,是 MyBatis 的 “最佳搭档”。

m0_61261153的博客 1168
上一篇: Mybatis最入门---日志配置
下一篇: Mybatis最入门---映射文件(1)
y-yg
博客等级 码龄15年 401粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值