MyBatis——增删改查(CRUD)

准备工作:创建在com.jiang.pojo中创建实体类

package com.jiang.pojo;

import lombok.Data;


//实体类

@Data
public class User {
    private int id;
    private String name;
    private String pwd;


}

1、namespace

namespace中的包名要和 Dao/mapper 接口的包名一致!

2、select

选择,查询语句;

  • id : 就是对应的namespace中的方法名;
  • resultType:Sql语句执行的返回值!
  • parameterType : 参数类型!
  1. 编写UserMapper接口

    //根据ID查询用户
    User getUserById(int id);
  2. 编写对应的UserMapper中的sql语句

    <select id="getUserById" parameterType="int" resultType="com.jiang.pojo.User">
            select * from mybatis.user where id = #{id}
    </select>
    
  3. 测试

        @Test
        public void getUserById() {
            SqlSession sqlSession = MybatisUtils.getSqlSession();
    
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
            User user = mapper.getUserById(1);
            System.out.println(user);
    
            sqlSession.close();
        }
    

3、Insert

  1. 编写UserMapper接口

    //insert一个用户
        int addUser(User user);
  2. 编写对应的UserMapper中的sql语句

     <insert id="addUser" parameterType="com.jiang.pojo.User">
            insert into mybatis.user (id, name, pwd) values (#{id},#{name},#{pwd});
        </insert>
  3. 测试

    package com.jiang.dao;
    
    import com.jiang.pojo.User;
    import com.jiang.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    
    import java.util.List;
    
    public class UserDaoTest {
    
        @Test
        public void getUserLike(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
    
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
            int i = mapper.addUser(new User(5, "姜嘉航","465123"));
            if (i>0){
                System.out.println("插入成功");
            }
            //提交事务
            sqlSession.commit();
            sqlSession.close();
        }
    
    
    }
    

4、update

  1. 编写UserMapper接口

       //修改用户
        int updateUser(User user);
  2. 编写对应的UserMapper中的sql语句

        <update id="updateUser" parameterType="com.jiang.pojo.User">
            update mybatis.user set name=#{name},pwd=#{pwd}  where id = #{id} ;
        </update>
  3. 测试

    package com.jiang.dao;
    
    import com.jiang.pojo.User;
    import com.jiang.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    
    import java.util.List;
    
    public class UserDaoTest {
    
        @Test
        public void getUserLike(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
    
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
            int i = mapper.updateUser(new User(5, "哈哈","1265123"));
            if (i>0){
                System.out.println("更新成功");
            }
            //提交事务
            sqlSession.commit();
            sqlSession.close();
        }
    
    
    }
    

5、Delete

  1. 编写UserMapper接口

        //删除一个用户
        int deleteUser(int id);
  2. 编写对应的UserMapper中的sql语句

        <delete id="deleteUser" parameterType="int">
            delete from mybatis.user where id = #{id};
        </delete>
  3. 测试

    package com.jiang.dao;
    
    import com.jiang.pojo.User;
    import com.jiang.utils.MybatisUtils;
    import org.apache.ibatis.session.SqlSession;
    import org.junit.Test;
    
    import java.util.List;
    
    public class UserDaoTest {
    
        @Test
        public void getUserLike(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
    
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    
            mapper.deleteUser(5);
            System.out.println("删除成功");
            sqlSession.commit();
            sqlSession.close();
        }
    
    
    }
    

注意点:

  • 增删改需要提交事务!( sqlSession.commit();)

猜你喜欢

转载自www.cnblogs.com/godles/p/12333896.html