> 文章列表 > Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/ajSEO】

文章目录

  • 一、准备工作
  • 二、查询表记录
    • 2.1 在映射器配置文件里引入结果映射元素
    • 2.2 添加按姓名查询用户记录功能
      • 2.2.1 添加按姓名查询的映射语句
      • 2.2.2 添加按姓名查询用户记录的测试方法
      • 2.2.3 添加按姓名查询用户记录的测试方法
      • 2.2.4 测试按姓名查询用户记录
  • 三、插入表记录
    • 3.1 添加插入映射语句
    • 3.2 在用户映射器结构添加插入方法
    • 3.3 在测试类里测试插入方法
    • 3.4 运行插入记录测试方法
    • 3.5 运行姓名查询测试方法
  • 四、更新表记录
    • 4.1 在用户映射器配置文件里添加更新映射语句
    • 4.2 在用户映射器接口添加更新方法
    • 4.3 在测试类TestUserMapper里添加测试方法testUpdate()
    • 4.4 运行更新用户记录测试方法
  • 五、删除表记录
    • 5.1 在用户映射器配置文件里添加删除映射语句
    • 5.2 在用户映射器接口里添加删除方法
    • 5.3 在测试类里添加删除记录测试方法
    • 5.4 运行按编号删除记录测试方法

一、准备工作

  • 打开MyBatisDemo项目
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

二、查询表记录

2.1 在映射器配置文件里引入结果映射元素

  • UserMapper.xml文件里创建结果映射元素
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.kox.mybatis.mapper.UserMapper"><!--结果映射:用户映射--><resultMap id="userMap" type="User"><result column="id" jdbcType="INTEGER" property="id" javaType="int"/><result column="name" jdbcType="VARCHAR" property="name" javaType="String"/><result column="age" jdbcType="INTEGER" property="age" javaType="int"/><result column="address" jdbcType="VARCHAR" property="address" javaType="String"/></resultMap><!--按编号查询用户记录--><select id="findById" parameterType="int" resultType="User">SELECT * FROM t_user WHERE id = #{id};</select><!--查询全部用户记录--><select id="findAll" resultMap="userMap">SELECT * FROM t_user;</select>
</mapper>
  • UserMapper接口里抽象方法上的注解暂时注释掉Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作
  • 运行TestUserMapper测试类里的testFindAll()测试方法,查看结果
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

2.2 添加按姓名查询用户记录功能

2.2.1 添加按姓名查询的映射语句

  • UserMapper.xml里添加映射语句 - findByName
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作
  • 如果要实现按姓名模糊查询用户记录,那么语句要做如下修改
    <!--按姓名查询用户记录--><select id="findByName" resultType="User">SELECT * FROM t_user WHERE name LIKE CONCAT(#{name}, "%");</select>

2.2.2 添加按姓名查询用户记录的测试方法

  • UserMapper接口里添加findByName()方法
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

2.2.3 添加按姓名查询用户记录的测试方法

  • 在测试类TestUserMapper里添加测试方法testFindByName()
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

2.2.4 测试按姓名查询用户记录

  • 运行测试方法testFindByName(),查看结果
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

三、插入表记录

3.1 添加插入映射语句

  • UserMapper.xml文件里添加插入映射语句
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

3.2 在用户映射器结构添加插入方法

  • UserMapper接口里添加insert()方法,方法名insert与插入映射语句里的id值保持一致

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

3.3 在测试类里测试插入方法

  • 在测试类TestUserMapper里添加测试方法testInsert()
    @Test // 测试插入用户记录public void testInsert() {// 创建用户对象User user = new User();// 设置对象属性user.setName("王雨涵");user.setAge(30);user.setAddress("龙马潭区长桥路2号");// 插入用户记录int count = userMapper.insert(user);// 提交数据库操作sqlSession.commit();// 判断插入记录是否成功if (count > 0) {System.out.println("恭喜,记录插入成功~");System.out.println("插入的新记录:" + user);} else {System.out.println("遗憾,记录插入失败~");}}

3.4 运行插入记录测试方法

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

3.5 运行姓名查询测试方法

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

四、更新表记录

4.1 在用户映射器配置文件里添加更新映射语句

  • UserMapper.xml里添加update映射语句
    <!--更新用户记录--><update id="update" parameterType="User">UPDATE t_user SET name = #{name}, age = #{age},address = #{address} WHERE id = #{id};</update>

4.2 在用户映射器接口添加更新方法

  • UserMapper接口里添加update()方法
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

4.3 在测试类TestUserMapper里添加测试方法testUpdate()

  • 在测试类TestUserMapper里添加测试方法testUpdate()
    @Test // 测试更新用户记录                                    public void testUpdate() {// 查找id为4的用户记录                                   User user = userMapper.findById(4);// 输出更新前的记录                                      System.out.println("更新前的记录:" + user);// 修改用户对象                                        user.setName("萌萌哒");user.setAge(25);user.setAddress("北京朝阳区北苑路6号楼");// 更新用户记录                                        int count = userMapper.update(user);// 判断更新是否成功                                      if (count > 0) {// 提交数据库操作                                   sqlSession.commit();// 提示用户更新成功                                  System.out.println("恭喜,记录更新成功~");System.out.println("更新后的记录:" + user);} else {// 提示用户更新失败                                  System.out.println("遗憾,记录更新失败~");}}

4.4 运行更新用户记录测试方法

  • 运行测试方法testUpdate(),查看结果
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

五、删除表记录

5.1 在用户映射器配置文件里添加删除映射语句

  • UserMapper.xml件里添加映射语句deleteById
    <!--按编号删除用户记录--><delete id="deleteById" parameterType="int">DELETE FROM t_user WHERE id = #{id};</delete>

5.2 在用户映射器接口里添加删除方法

  • UserMapper接口里添加deleteById()方法,方法名要与删除映射语句的id值保持一致
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作

5.3 在测试类里添加删除记录测试方法

  • 在测试类TestUserMapper里添加测试方法testDeleteById()
@Test // 测试按编号删除用户记录                                                 
public void testDeleteById() {                                       // 查找id为4的用户记录                                                   int id = 4;                                                      User user = userMapper.findById(id);                             // 输出待删除的记录                                                      System.out.println("待删记录:" + user);                              // 按编号删除用户记录                                                     int count = userMapper.deleteById(id);                           // 判断删除是否成功                                                      if (count > 0) {                                                 // 提交数据库操作                                                   sqlSession.commit();                                         // 提示用户删除成功                                                  System.out.println("恭喜,编号为[" + id + "]的记录删除成功~");            } else {                                                         // 提示用户删除失败                                                  System.out.println("遗憾,编号为[" + id + "]的记录删除失败~");            }                                                                
}                                                                    

5.4 运行按编号删除记录测试方法

  • 运行测试方法testDeleteById(),查看结果
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作