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 结果
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结果
6.4 使用MyBatis 分页插件 PageHelper
官网写的很详细了直接上官网链接:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md