Mybatis学习笔记 —— 03 Mybatis增删改查

一、扩展第一个Mybatis案例,添加增删改查操作

1.在UserMapper.java文件下添加对应接口

public interface UserMapper {
    //查询所有用户
    List<User> getUserList();

    //通过Id查询用户
    User getUserById(int id);

    //模糊查询用户
    List<User> getUserLike(String value);

    //insert用户
    int addUser(User user);

    //update用户
    int updateUser(User user);

    //delete用户
    int deleteUser(int id);
}

2.在UserMapper.xml文件下写对应Sql语句,并进行绑定

  其中有关insert、update、delete相关语句在Mybatis中文文档下的XML 映射器文件有说明

<!-- 通过Id查询用户 -->
    <select id="getUserById" parameterType="int" resultType="com.autumn.pojo.User">
        select *
        from mybatis.user where id = #{id};
    </select>
<!-- 模糊查询用户 -->
    <select id="getUserLike" resultType="com.autumn.pojo.User">
        select *
        from mybatis.user where name like #{value};
    </select>
<!-- 插入一个用户 -->
    <insert id="addUser" parameterType="com.autumn.pojo.User">
        insert into mybatis.user(id, name, pwd)
        values (#{id} , #{name} , #{pwd});
    </insert>
<!-- 更改一个用户   -->
    <update id="updateUser" parameterType="com.autumn.pojo.User">
        update mybatis.user
            set name = #{name} , pwd = #{pwd}
        where id = #{id};
    </update>
<!-- 删除一个用户   -->
    <delete id="deleteUser" parameterType="int">
        delete
        from mybatis.user
                 where id = #{id};
    </delete>

3.测试

  1)通过Id查询用户

@Test
    public void testGetUserById(){
        //获取sqlSession对象
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        try{
            //执行
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            User userById = userMapper.getUserById(1);
            System.out.println(userById);
        }finally {
            //关闭sqlSession
            sqlSession.close();
        }
    }

  2)模糊查询用户

@Test
    public void testGetUserLike(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        try {
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);

            List<User> userList = mapper.getUserLike("%张%");
            for (User user : userList) {
                System.out.println(user);
            }
        }finally {
            sqlSession.close();
        }
    }

  3)添加用户信息

@Test
    public void testAddUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        try{
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);

            mapper.addUser(new User(6,"民风淳朴洛圣都","6666666"));
        }finally {
            sqlSession.commit();
            sqlSession.close();
        }
    }

  4)修改用户信息

@Test
    public void testUpdateUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        try{
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);

            mapper.updateUser(new User(6, "开局核平冬木市" , "10086"));
        }finally {
            sqlSession.commit();
            sqlSession.close();
        }
    }

  5)删除用户信息 

@Test
    public void testDeleteUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        try{
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            mapper.deleteUser(6);
        }finally {
            sqlSession.commit();
            sqlSession.close();
        }
    }

   注意 Sql语句中,增删改操作后需要提交事务,即sqlSession.commit();,否则数据库不会改变

 

posted @ 2021-06-26 21:33  N1belungen  阅读(57)  评论(0)    收藏  举报