mybatis增删改查例子
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mybatis增删改查例子
一、使用MyBatis对表执行CRUD操作——基于XML的实现
1、定义sql映射xml文件
userMapper.xml文件的内容如下:
1
2
"/dtd/mybatis-3-mapper.dtd">
3
6
7
12
15
19
20
21
22insert into users(name,age) values(#{name},#{age})
23
24
25
26
27delete from users where id=#{id}
28
29
30
31
32update users set name=#{name},age=#{age} where id=#{id}
33
34
35
36
37select * from users
38
39
40
单元测试类代码如下:
1package me.gacl.test;
2
3import java.util.List;
4import er;
5import me.gacl.util.MyBatisUtil;
6import org.apache.ibatis.session.SqlSession;
7import org.junit.Test;
8
9public class TestCRUDByXmlMapper {
10
11@Test
12public void testAdd(){
13//SqlSession sqlSession = MyBatisUtil.getSqlSession(false);
14SqlSession sqlSession = MyBatisUtil.getSqlSession(true);
15/**
16* 映射sql的标识字符串,
17* erMapper是userMapper.xml文件中mapper标签的namespace属性的值,18* addUser是insert标签的id属性值,通过insert标签的id属性值就可以找到要执行的SQL
19*/
20String statement = "erMapper.addUser";//映射sql的标识字符串
21User user = new User();
22user.setName("用户孤傲苍狼");
23user.setAge(20);
24//执行插入操作
25int retResult = sqlSession.insert(statement,user);
26//手动提交事务
27//mit();
28//使用SqlSession执行完SQL之后需要关闭SqlSession
29sqlSession.close();
30System.out.println(retResult);
31}
32
33@Test
34public void testUpdate(){
35SqlSession sqlSession = MyBatisUtil.getSqlSession(true);
36/**
37* 映射sql的标识字符串,
38* erMapper是userMapper.xml文件中mapper标签的namespace属性的值,39* updateUser是update标签的id属性值,通过update标签的id属性值就可以找到要执行的SQL 40*/
41String statement = "erMapper.updateUser";//映射sql的标识字符串
42User user = new User();
43user.setId(3);
44user.setName("孤傲苍狼");
45user.setAge(25);
46//执行修改操作
47int retResult = sqlSession.update(statement,user);
48//使用SqlSession执行完SQL之后需要关闭SqlSession
49sqlSession.close();
50System.out.println(retResult);
51}
52
53@Test
54public void testDelete(){
55SqlSession sqlSession = MyBatisUtil.getSqlSession(true);
56/**
57* 映射sql的标识字符串,
58* erMapper是userMapper.xml文件中mapper标签的namespace属性的值,59* deleteUser是delete标签的id属性值,通过delete标签的id属性值就可以找到要执行的SQL
60*/
61String statement = "erMapper.deleteUser";//映射sql的标识字符串
62//执行删除操作
63int retResult = sqlSession.delete(statement,5);
64//使用SqlSession执行完SQL之后需要关闭SqlSession
65sqlSession.close();
66System.out.println(retResult);
67}