分页.
- 减少数据的处理量
- 数据太多在页面上也不好展示
下面只是简单的展示,分页查询,并不是,面向对象的分页
Limit分页.
使用Mybatis实现分页,核心是sql
- 接口方法
//limit 分页
List<User> getUserByLimit(Map<String,Object> map);
2.mapper.xml
- 测试
@Test
public void getUserByLimit(){
try(SqlSession sqlSession = MybatisUtils.getSqlSession();) {
UserMapper userDao = sqlSession.getMapper(UserMapper.class);
Map<String, Object> map = new HashMap<>();
map.put("pageIndex", 2);
map.put("pageSize", 2);
List<User> list = userDao.getUserByLimit(map);
list.forEach(System.out::println);
}
}
- 结果
RowBounds分页.
不依赖limit 需要 使用 SqlSession.selectX
- 接口方法
//rowBounds 分页 这里不需要参数 参数 会在 selectList的rowbounds中添加
List<User> getUserByRowBounds();
2.mapper.xml
<select id="getUserByRowBounds" resultType="pojo.User">
<!-- 不依赖limit -->
select * from mybatis.user;
</select>
- 测试
@Test
public void getUserByRowBounds(){
try(SqlSession sqlSession = MybatisUtils.getSqlSession();) {
RowBounds rowBounds = new RowBounds(2,2);
//不依赖 limit 但是 依赖 selectList
List<User> list = sqlSession.selectList("dao.UserMapper.getUserByRowBounds", null, rowBounds);
list.forEach(System.out::println);
}
}
- 结果
分页插件PageHelper.
https://pagehelper.github.io/docs/
##