1. 程式人生 > 其它 >mybatis學習03:CRUD

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();
    }