利用MyBatis实现CRUD操作
文章目录
- 一、打开MyBatisDemo项目
- 二、查询表记录
- (一)在映射器配置文件里引入结果映射元素
- (二)添加按姓名查询用户记录功能
- 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(),查看结果
- 六、课后拓展练习
To perform any Create, Retrieve, Update, and Delete (CRUD) operation using MyBatis, you would need to create a Plain Old Java Objects (POJO) class corresponding to the table. This class describes the objects that will “model” database table rows.
要使用MyBatis执行任何创建、读取、更新和删除(CRUD)操作,您需要创建与该表相对应的普通旧Java对象(POJO)类。此类描述了将“建模”数据库表行的对象。
在UserMapper.xml 的配置文件中,
<mapper namespace="net.hw.mybatis.mapper.UserMapper">
,命名空间非常重要,不能有错,必须与我们定义的package和接口一致。
一、打开MyBatisDemo项目
二、查询表记录
- 上一讲,我们在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接口里定义了两个抽象方法:findById(int id)和findAll()。
(一)在映射器配置文件里引入结果映射元素
- 如果表的列名与实体的属性名不一致,比如表的register_time字段对应实体类的registerTime属性,我们就需要定义resultMap,当然一致时也可以定义。
- 运行测试类TestUserMapper里的testFindAll()测试方法,查看结果
(二)添加按姓名查询用户记录功能
1、在UserMapper.xml里添加映射语句 - findByName
- 如果要实现按姓名模糊查询用户记录,那么语句要做如下修改
2、在UserMapper接口里添加findByName()方法
3、在测试类TestUserMapper里添加测试方法testFindByName()
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>
- 1
- 2
- 3
- 4
- 5
- id和parameterType分别与UserMapper接口中的insert方法的名字与参数类型一致。以#{name}的形式引用User参数的name属性,MyBatis将使用反射读取User参数该属性。#{name}中name大小写敏感。引用其它属性与此一致。
UseGeneratedKeys="true"
表明要MyBatis获取由数据库自动生成的主键;keyProperty="id"
指定把获取到的主键值注入到User的id属性。
(二)在UserMapper接口里增加insert()方法
(三)在测试类TestUserMapper里添加测试方法testInsert()
- 注意:对于增删改操作,必须要执行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>
- 1
- 2
- 3
- 4
(二)在UserMapper接口里增加update()方法
(三)在测试类TestUserMapper里添加测试方法testUpdate()
(四)运行测试方法testUpdate(),查看结果
五、删除表记录
(一)在UserMapper.xml文件里添加映射语句deleteById
<delete id="deleteById" parameterType="int">DELETE FROM t_user WHERE id = #{id};
</delete>
- 1
- 2
- 3
(二)在UserMapper接口里增加deleteById()方法
(三)在测试类TestUserMapper里添加测试方法testDeleteById()
(四)运行测试方法testDeleteById(),查看结果
六、课后拓展练习
利用MyBatis框架改造Java课程实训项目《GUI学生信息管理系统》
学生信息管理系统(MyBatis版)V1.0项目结构图
转载至[](https://blog.csdn.net/howard2005/article/details/114369951)
利用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实现CRUD操作
文章目录 一.查询表记录 1.在映射器配置文件里引入结果映射元素 2.添加按姓名查询用户记录功能 (1)添加映射语句 (2)在UserMapper接口里添加findByName()方法 (3)Test ...
- 使用MyBatis实现CRUD操作
MyBatis 1.使用MyBatis实现CRUD操作 1.1 根据id查询信息 1.2 实现存入用户信息 1.3 更新用户信息 1.4 删除用户信息 1.5 模糊查询 1.6 #{}和${}的区别 ...
- MyBatis教程– CRUD操作和映射关系–第1部分
CRUD操作 MyBatis是一个SQL Mapper工具,与直接使用JDBC相比,它极大地简化了数据库编程. 步骤1:创建一个Maven项目并配置MyBatis依赖项. <project xm ...
- mybatis进行CRUD操作时返回值不为影响的条数,为null
对应自己的情况多试试看,总有一种方法可以解决吧! 1.如果报期望的返回值为null而原始返回值类型为int的错误 则将Dao/mapper接口中的函数的返回值类型改为Integer,在方法调用时使用. ...
- MyBatis框架学习笔记02:使用MyBatis实现CRUD操作
文章目录 Ⅰ.查询表记录 (Ⅰ).在映射器配置文件里引入结果映射元素 (Ⅱ).添加按姓名查询用户记录功能 1).在UserMapper.xml里添加映射语句 - findByName 2).在User ...
- MyBatis教程– CRUD操作和映射关系–第2部分
为了说明这一点,我们正在考虑以下示例域模型: 会有用户,每个用户可能都有一个博客,每个博客可以包含零个或多个帖子. 这三个表的数据库结构如下: CREATE TABLE user (user_id i ...
- Mybatis实现CRUD操作
项目实现的功能 查询所有用户信息 通过Id查询用户信息 添加用户(回显主键) 修改用户信息 删除用户信息 通过用户名字模糊查询 一.引入依赖和工程结构 <?xml version="1 ...
最新文章
- Coolite 中GridView点击行中的按钮时跳转至不同的页面
- 修改git全部已提交的用户名和邮箱
- 【python】nuitka封装python
- error java on syntax token_解决Java“syntax error on token enum”问题
- greenPlum资源隔离
- 中石油训练赛 - Block(二维前缀和+思维)
- eclipse git:Transport Error: Cannot get remote repository refs. invalid advertisement of
- 资深大牛推荐学习路线建议
- 在服务器上安装anaconda遇到的问题总结
- nacis服务注册原理_HwServiceManager篇Android10.0 HwBinder通信原理(五)
- Linux 关于Transparent Hugepages的介绍
- java验证码-汉字验证码
- 前端把cookie写在父域里_单点登录的三种实现方式
- {ubuntu}乱七八糟重命名为1 2 3.....png
- 软件库网站源码+附手机版 带多套模板 图文教程
- windows下桌面便签小工具简单使用技巧
- 《posix多线程编程》笔记(四)
- 一文搞懂「微信支付 Api-v3」接口规则所有知识点
- 学习漫画应该如何入门?其实掌握这5种漫画套路就可以啦
- Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践