mybatis学习03:CRUD

mybatis学习03:CRUD

  • CRUD:增删改查

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

       

  • select:选择,查询语句

    • id:就是对应的namespace中的方法名;

    • resultType:SQL语句执行的返回值;

    • parameterType:参数类型!

  • Insert

    • 编写Mapper接口;

    • 编写对应Mapper.xml中的SQL语句;

  • update

    • 编写Mapper接口;

    • 编写对应Mapper.xml中的SQL语句;

  • delete

    • 编写Mapper接口;

    • 编写对应Mapper.xml中的SQL语句;

 

  • 总结:

    • 面向接口编程;

      UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    • 所有的增删改都需要提交事务;

      sqlSession.commit();

       

 

  • 代码案例:mapper.xml

    <!--传递单个参数-->
    <select id="getUserById" parameterType="int" resultType="com.xx.pojo.User">
      select * from mybatis.user where id=#{id}
    </select>

    <!--参数为对象 :对象中的属性可以直接取出来-->
    <insert id="addUser" parameterType="com.xx.pojo.User">
      insert into mybatis.user(id, name, pwd) value (#{id},#{name},#{pwd})
    </insert>

    <update id="updateUser" parameterType="com.xx.pojo.User">
      update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>

    <delete id="deleteUser" parameterType="com.xx.pojo.User">
      delete from mybatis.user where id=#{id}
    </delete>
  • 代码案例:UserMapper.java

    public interface UserMapper {
       //查询全部用户
       List<User> getUserList();
       //根据ID查询用户
       User getUserById(int id);
       //insert一个用户
       int addUser(User user);
       //修改用户
       int updateUser(User user);
       //删除一个用户
       int deleteUser(User user);
       //根据ID删除一个用户
       int deleteUserById(int id);

    }
  • 代码案例:Test测试类

    @Test
    public void getUserById(){

       //第一步:获得SqlSession的执行对象
       SqlSession sqlSession = MybatisUtils.getSqlSession();

       //第二部:getMapper
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       User user = mapper.getUserById(1);
       System.out.println(user.getId()+","+user.getName());

       //第三步:关闭连接
       sqlSession.close();
    }

    //增删改需要提交事务
    @Test
    public void addUser(){
       //第一步:获得SqlSession对象
       SqlSession sqlSession = MybatisUtils.getSqlSession();
       //获得一个接口对象
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       User user=new User();
       user.setId(4);
       user.setName("demo4");
       user.setPwd("111");
       int i=mapper.addUser(user);
       if(i>0){
           System.out.println("插入成功");
      }
       //提交事务
       sqlSession.commit();
       sqlSession.close();
    }

    @Test
    public void updateUser(){
       //第一步:获得SqlSession对象
       SqlSession sqlSession = MybatisUtils.getSqlSession();

       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       int i = mapper.updateUser(new User(4, "李四", "111111"));
       if(i>0){
           System.out.println("修改成功");
           sqlSession.commit();//修改成功,提交事务
      }

       sqlSession.close();
    }

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

       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       int i=mapper.deleteUser(new User(4,null,null));

       if(i>0){
           System.out.println("删除成功");
           sqlSession.commit();//删除成功,提交事务
      }
       sqlSession.close();
    }

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

       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
       int i = mapper.deleteUserById(3);

       if(i>0){
           System.out.println("删除成功");
           sqlSession.commit();//删除成功,提交事务
      }
       sqlSession.close();
    }

     

 

 

 

 

 

 

posted @   gzs1024  阅读(94)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示