文章目录

  • 一、打开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操作相关推荐

  1. 2021年3月8日:MyBatis框架学习笔记02:利用MyBatis实现CRUD操作

    MyBatis框架学习笔记02:利用MyBatis实现CRUD操作 在第一节课中我们在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接 ...

  2. MyBatis框架学习笔记02:利用MyBatis实现CRUD操作

    文章目录 一.打开MyBatisDemo项目 二.查询表记录 (一)在映射器配置文件里引入结果映射元素 (二)添加按姓名查询用户记录功能 1.在UserMapper.xml里添加映射语句 - find ...

  3. MyBatis学习(二)--利用MyBatis实现CRUD操作

    文章目录 一.查询表记录 1.在映射器配置文件里引入结果映射元素 2.添加按姓名查询用户记录功能 (1)添加映射语句 (2)在UserMapper接口里添加findByName()方法 (3)Test ...

  4. 使用MyBatis实现CRUD操作

    MyBatis 1.使用MyBatis实现CRUD操作 1.1 根据id查询信息 1.2 实现存入用户信息 1.3 更新用户信息 1.4 删除用户信息 1.5 模糊查询 1.6 #{}和${}的区别 ...

  5. MyBatis教程– CRUD操作和映射关系–第1部分

    CRUD操作 MyBatis是一个SQL Mapper工具,与直接使用JDBC相比,它极大地简化了数据库编程. 步骤1:创建一个Maven项目并配置MyBatis依赖项. <project xm ...

  6. mybatis进行CRUD操作时返回值不为影响的条数,为null

    对应自己的情况多试试看,总有一种方法可以解决吧! 1.如果报期望的返回值为null而原始返回值类型为int的错误 则将Dao/mapper接口中的函数的返回值类型改为Integer,在方法调用时使用. ...

  7. MyBatis框架学习笔记02:使用MyBatis实现CRUD操作

    文章目录 Ⅰ.查询表记录 (Ⅰ).在映射器配置文件里引入结果映射元素 (Ⅱ).添加按姓名查询用户记录功能 1).在UserMapper.xml里添加映射语句 - findByName 2).在User ...

  8. MyBatis教程– CRUD操作和映射关系–第2部分

    为了说明这一点,我们正在考虑以下示例域模型: 会有用户,每个用户可能都有一个博客,每个博客可以包含零个或多个帖子. 这三个表的数据库结构如下: CREATE TABLE user (user_id i ...

  9. Mybatis实现CRUD操作

    项目实现的功能 查询所有用户信息 通过Id查询用户信息 添加用户(回显主键) 修改用户信息 删除用户信息 通过用户名字模糊查询 一.引入依赖和工程结构 <?xml version="1 ...

最新文章

  1. Coolite 中GridView点击行中的按钮时跳转至不同的页面
  2. 修改git全部已提交的用户名和邮箱
  3. 【python】nuitka封装python
  4. error java on syntax token_解决Java“syntax error on token enum”问题
  5. greenPlum资源隔离
  6. 中石油训练赛 - Block(二维前缀和+思维)
  7. eclipse git:Transport Error: Cannot get remote repository refs. invalid advertisement of
  8. 资深大牛推荐学习路线建议
  9. 在服务器上安装anaconda遇到的问题总结
  10. nacis服务注册原理_HwServiceManager篇Android10.0 HwBinder通信原理(五)
  11. Linux 关于Transparent Hugepages的介绍
  12. java验证码-汉字验证码
  13. 前端把cookie写在父域里_单点登录的三种实现方式
  14. {ubuntu}乱七八糟重命名为1 2 3.....png
  15. 软件库网站源码+附手机版 带多套模板 图文教程
  16. windows下桌面便签小工具简单使用技巧
  17. 《posix多线程编程》笔记(四)
  18. 一文搞懂「微信支付 Api-v3」接口规则所有知识点
  19. 学习漫画应该如何入门?其实掌握这5种漫画套路就可以啦
  20. Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

热门文章

  1. mysql数据库insert 插入语句示例
  2. 是时候抛弃 Eclipse 转向 IntelliJ IDEA了
  3. JScript.NET或者JScript是什么?
  4. Java Future详解与使用
  5. 黄一老师:财商思维、信用融资能对你有什么帮助?
  6. 过去 10 年,阿里在开源圈做了什么?
  7. win10安装与配置JDK的环境变量
  8. ubuntu添加并查看 用户组和用户
  9. ubuntu中创建新用户并添加管理员权限
  10. php mysql抽奖转盘_PHP微信转盘抽奖前后台 数据库完整示例