Mybatis分页

Mybatis分页

为什么分页?

  • 减少数据的处理量

使用使用Limit分页

核心sql语句:

<select id="getUserLimit" resultType="User" parameterType="map">
    select *from mybatis.user limit ${startIndex},${pageSize};
</select>
  1. 接口

    //使用limit实现分页
    List<User> getUserLimit(Map<String,Integer> map);
  2. Mapper.xml

    <select id="getUserLimit" resultType="User" parameterType="map">
        select *from mybatis.user limit ${startIndex},${pageSize};
    </select>
  3. 测试

     @Test
        public void testgetUserLimit(){
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            UserMapper mapper = sqlSession.getMapper(UserMapper.class);
            Map<String,Integer> map = new HashMap<>();
            map.put("startIndex",0);
            map.put("pageSize",2);
    ​
    ​
            List<User> users = mapper.getUserLimit(map);
            for (User user:users){
    ​
                System.out.println(user);
            }
            sqlSession.close();
        }

RowBounds分页(老方法)

  1. 接口

    //使用RowBounds分页
    List<User> getUserByRowBounds();
  2. mapper.xml

    <select id="getUserByRowBounds" resultType="User">
        select * from user;
    </select>
  3. 测试

    @Test
    public void testgerUserByRowBounds(){
    ​
        RowBounds rowBounds = new RowBounds(1,2);
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        List<User> list = sqlSession.selectList("com.aishimin.dao.UserMapper.getUserByRowBounds", null, rowBounds);
    ​
        for(User user:list){
            System.out.println(user);
        }
    ​
        sqlSession.close();
    }

分页插件

posted @ 2021-02-20 23:12  aishimin  阅读(41)  评论(0)    收藏  举报