mybatis(六)分页

mybatis(六)分页

6.1 原生sql 语句

select * from user_k uk limit 1,2;
select * from user_k uk limit 2;   #[0,2]

6.2 使用mybatis实现分页

6.2.1 编写接口

List<UserK> getUsersByLimit(Map<String, Integer> map);

6.2.2编写 xxxMapper.xml

<select id="getUsersByLimit" parameterType="map" resultType="com.qlx.pojo.UserK">
    select * from mybatis.user_k uk limit #{startIndex},#{pageSize}
</select>

6.2.3 测试

public class demo {
    SqlSession sqlSession = MyBatisUtils05.getSqlSession();
    UserKMapper05 mapper = sqlSession.getMapper(UserKMapper05.class);
    @Test
    public void testUsersByLimit() {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("startIndex", 1);
        map.put("pageSize", 2);
        List<UserK> users = mapper.getUsersByLimit(map);
        users.forEach(System.out::println);
    }
}

6.2.4 结果

image-20200923200542393

6.3 RowBounds 分页(不推荐 仅了解)

6.3.1 编写接口

List<UserK> getUsersByRowBounds();

6.3.2 编写xml

<select id="getUsersByRowBounds" resultMap="BaseResultMap">
    select *
    from mybatis.user_k
</select>

6.3.3测试

 @Test
    public void testUsersByRowBounds() {
        RowBounds rowBounds = new RowBounds(1, 2);
        //通过java代码实现分页
        List<UserK> userKList = sqlSession.selectList("com.qlx.mapper.UserKMapper05.getUsersByRowBounds", null, rowBounds);

        for (UserK userK : userKList) {
            System.out.println(userK);
        }
    }

6.3.4结果

image-20200923202853341

6.4 使用MyBatis 分页插件 PageHelper

官网写的很详细了直接上官网链接:

https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md

原文地址:https://www.cnblogs.com/lxsfve/p/13726912.html