MyBatis框架学习笔记02:使用MyBatis实现CRUD操作
文章目录
- Ⅰ、查询表记录
- (Ⅰ)、在映射器配置文件里引入结果映射元素
- (Ⅱ)、添加按姓名查询用户记录功能
- 1)、在UserMapper.xml里添加映射语句 - findByName
- 2)、在UserMapper接口里添加findByName()方法
- 3)、在测试类TestUserMapper里添加测试方法testFindByName()
- 4)、运行测试方法testFindByName(),查看结果
- Ⅱ、插入表记录
- (Ⅰ)、在UserMapper.xml里增加映射语句 -insert
- (Ⅱ)、在UserMapper接口里增加insert()方法
- (Ⅲ)、在测试类TestUserMapper里添加测试方法testInsert()
- (Ⅳ)、运行测试方法testInsert(),查看结果
- (Ⅴ)、运行测试方法testFindByName(),查看结果
- Ⅲ、更新表记录
- (Ⅰ)、在UserMapper.xml里增加映射语句 -update
- (Ⅱ)、在UserMapper接口里增加update()方法
- (Ⅲ)、在测试类TestUserMapper里添加测试方法testUpdate()
- (Ⅳ)、运行测试方法testUpdate(),查看结果
- Ⅳ、删除表记录
- (Ⅰ)、在UserMapper.xml文件里添加映射语句deleteById
- (Ⅱ)、在UserMapper接口里增加deleteById()方法
- (Ⅲ)、在测试类TestUserMapper里添加测试方法testDeleteById()
- (Ⅳ)、运行测试方法testDeleteById(),查看结果
Ⅰ、查询表记录
- 打开MyBatisDemo项目,笔记01中我在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接口里定义了两个抽象方法:findById(int id)和findAll()。
(Ⅰ)、在映射器配置文件里引入结果映射元素
- 运行测试类TestUserMapper里的testFindAll()测试方法,查看结果
(Ⅱ)、添加按姓名查询用户记录功能
1)、在UserMapper.xml里添加映射语句 - findByName
- 如果要实现按姓名模糊查询用户记录,那么要用SELECT * FROM t_user WHERE name LIKE CONCAT(#{name},"%");
2)、在UserMapper接口里添加findByName()方法
List<User> findByName(String name);
3)、在测试类TestUserMapper里添加测试方法testFindByName()
@Testpublic void testFindByName() {String name = "王";List<User> users = userMapper.findByName(name);if (users.size() > 0) {users.forEach(user -> System.out.println(user));}else {System.out.println("姓名为[" + name + "]的记录未找到。");}}
4)、运行测试方法testFindByName(),查看结果
- 目前用户表里姓“王”的只有一台哦记录,待会儿我们再插入一条姓王的记录,再次运行该查询方法,就会显示全部姓“王”的记录。
Ⅱ、插入表记录
(Ⅰ)、在UserMapper.xml里增加映射语句 -insert
<insert id="insert" parameterType="User"useGeneratedKeys="true" keyProperty="id">INSERT INTO t_user(name, age, address)VALUES(#{name}, #{age}, #{address});
</insert>
- id和parameterType分别与UserMapper接口中的insert方法的名字与参数类型一致。以#{name}的形式引用User参数的name属性,MyBatis将使用反射读取User参数该属性。#{name}中name大小写敏感。引用其它属性与此一致。
- UseGeneratedKeys=“true” 表明要MyBatis获取由数据库自动生成的主键;keyProperty=“id” 指定把获取到的主键值注入到User的id属性。
(Ⅱ)、在UserMapper接口里增加insert()方法
(Ⅲ)、在测试类TestUserMapper里添加测试方法testInsert()
@Test
public void testInsert() {User user = new User();user.setName("王雨涵");user.setAge(25);user.setAddress("龙马潭区长桥路二号");int count = userMapper.insert(user);sqlSession.commit(); // 提交数据库操作if (count > 0) {System.out.println("记录插入成功!");System.out.println("插入新记录:" + user);}else {System.out.println("记录插入失败!");}
}
- 注意:对于增删改操作,必须要执行SQL会话对象的commit()方法才能生效。
(Ⅳ)、运行测试方法testInsert(),查看结果
- 大家可以看到,id=4,这个编号是数据库自动生成的主键值,是因为插入映射语句设置了UseGeneratedKeys=“true”。
(Ⅴ)、运行测试方法testFindByName(),查看结果
- 大家可以看到,用户表里姓“王”的记录都被查询出来了。
Ⅲ、更新表记录
(Ⅰ)、在UserMapper.xml里增加映射语句 -update
<update id="update" parameterType="User">UPDATE t_user SET name = #{name}, age = #{age},address = #{address} WHERE id = #{id};
</update>
(Ⅱ)、在UserMapper接口里增加update()方法
int update(User user);
(Ⅲ)、在测试类TestUserMapper里添加测试方法testUpdate()
@Testpublic void testUpdate() {int id = 4;User user = userMapper.findById(id);System.out.println("更新前的记录:" + user);user.setName("李小海");user.setAge(18);user.setAddress("北京市朝阳区");int count = userMapper.update(user);sqlSession.commit(); //提交数据库if (count > 0){System.out.println("更新成功!");System.out.println("更新后记录:" + userMapper.findById(id));}else {System.out.println("更新失败!");}}
(Ⅳ)、运行测试方法testUpdate(),查看结果
Ⅳ、删除表记录
(Ⅰ)、在UserMapper.xml文件里添加映射语句deleteById
<delete id="deleteById" parameterType="int">DELETE FROM t_user WHERE id = #{id};</delete>
(Ⅱ)、在UserMapper接口里增加deleteById()方法
int deleteById(int id);
(Ⅲ)、在测试类TestUserMapper里添加测试方法testDeleteById()
@Testpublic void testDeleteById() {int id = 4;User user = userMapper.findById(id);System.out.println("待删除的记录:" + user);userMapper.deleteById(id);sqlSession.commit(); //提交数据库System.out.println("编号为[" + id + "]的记录删除成功!");user = userMapper.findById(id);if (user != null) {System.out.println(user);} else {System.out.println("编号为[" + id + "]的用户未找到。");}}
(Ⅳ)、运行测试方法testDeleteById(),查看结果
MyBatis框架学习笔记02:使用MyBatis实现CRUD操作相关推荐
- 2021年3月8日:MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
MyBatis框架学习笔记02:利用MyBatis实现CRUD操作 在第一节课中我们在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接 ...
- MyBatis框架学习笔记02:利用MyBatis实现CRUD操作
文章目录 一.打开MyBatisDemo项目 二.查询表记录 (一)在映射器配置文件里引入结果映射元素 (二)添加按姓名查询用户记录功能 1.在UserMapper.xml里添加映射语句 - find ...
- mybatis框架--学习笔记(下)
上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...
- mybatis框架--学习笔记(上)
使用JDBC操作数据库的问题总结: (1)数据库连接,使用时创建,不使用时立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接. (2) ...
- [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP
上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...
- MyBatis框架学习笔记(3)——B站动力节点
文章目录 (0)介绍 (1)返回主键的标签 (2)UUID的概念 (3)update时< set >标签的使用 (4)表与表的关联关系 一对多关联 多对一关联 一对一关联 多对多关联 (5 ...
- MyBatis框架学习笔记(1)——B站动力节点
文章目录 001- 框架概述 1.1 软件开发常用结构 1.2 框架是什么 1.3 回顾JDBC编程 1.4 MyBatis框架概述 002- MyBatis框架快速入门 2.1 入门案例 2.2 M ...
- JDBC 学习笔记 day02 用 PreparedStatement 实现 CRUD 操作
JDBC 学习笔记 day02 PreparedStatement 相比于 Statement 的好处 PreparedStatement 实现 增,删,改 操作 PreparedStatement ...
- MyBatis框架学习笔记01:初生牛犊
文章目录 1. 什么是MyBatis 创建数据库 演示MyBatis基本使用 1.创建Maven项目 创建实体类 创建用户实体类关系映射配置文件 创建测试类 完成测试 1. 什么是MyBatis My ...
最新文章
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(11)——R600指令集
- linux命令查看cpu负载,怎么使用Linux命令查看CPU使用率
- Ubuntu 18.x 环境下mysql创建用户并更改用户权限
- 敏捷开发组织【北京及其他地区QQ群】【长三角QQ群】【珠三角QQ群】
- vue之自行实现派发与广播-dispatch与broadcast
- Python Tricks(十)—— 递归修改文件名
- POJ 3126 Prime Path 简单广搜(BFS)
- Arturia Analog Lab for Mac - 原始混合合成器
- 微信公众号开发获取code
- html博客音乐播放器代码大全,HTML博客音乐播放器代码大全
- 基于FPGA的智能家具之PM2.5传感器,温湿度传感器驱动设计
- Redis 中的 standalone(单机模式)配置说明和分析
- 星期五五–大数据,Doppio和假Linus Torvalds
- JavaScript的三级联动
- 查询薪金比“SMITH”或者“ALLEN”多的所有员工的编号、姓名、部门名称、领导姓名、部门人数、平均工资、最高及最低工资
- openwrt修改lan口地址失败_wr703n 刷openwrt 网口是lan口,怎样改成wan口?
- 硬盘测试之influx-stress
- hadoop集成kerberos
- vcruntime140_1.dll
- 素数,质数,奇数,合数,偶数这些你都能分清吗?
热门文章
- B2B电子商务网站建设怎么做:B2B系统开发流程、语言、架构解答
- r语言赋值为na_R语言数据框中,用0替代NA缺失值
- 硬核机器学习干货,手把手教你写KNN!
- Excel VBA:更改图表数据标记大小和曲线粗细
- 别再说你不会!java嵌入式开发教程
- known_hosts to get rid of this message问题
- Mybatis3 继续盘!
- 欢迎访问我的个人网站!
- 小峰峰的pat甲级刷题记录1020
- 一款在线视频 App,基于 Material Design + MVP + RxJava + Retrofit + Realm + Glide