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操作_第1张图片

二、查询表记录

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

  • UserMapper.xml文件里创建结果映射元素
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作_第2张图片

DOCTYPE mapper
        PUBLIC "-//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操作_第3张图片
  • 运行TestUserMapper测试类里的testFindAll()测试方法,查看结果
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作_第4张图片

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

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

  • UserMapper.xml里添加映射语句 - findByName
    Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作_第5张图片
  • 如果要实现按姓名模糊查询用户记录,那么语句要做如下修改
    <!--按姓名查询用户记录-->
    <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操作_第6张图片

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

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

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

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

三、插入表记录

3.1 添加插入映射语句

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

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

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

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作_第10张图片

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操作_第11张图片

3.5 运行姓名查询测试方法

Java企业级开发学习笔记(2.2)利用MyBatis实现CRUD操作_第12张图片

四、更新表记录

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操作_第13张图片

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操作_第14张图片

五、删除表记录

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操作_第15张图片

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操作_第16张图片

你可能感兴趣的:(#,java,mybatis,学习)