49)Mybatis 分页
- limit分页
- RowBounds 进行分页,非常方便,不需要在 sql 语句中写 limit,即可完成分页功能。但是由于它是在 sql 查询出所有结果的基础上截取数据的,所以在数据量大的sql中并不适用,它更适合在返回数据结果较少的查询中使用。
最核心的是在 mapper 接口层,传参时传入 RowBounds(int offset, int limit) 对象,即可完成分页。- Mybatis分页插件PageHelper
- RowBounds的使用
mapper 接口层代码如下
List selectBookByName(Map<String, Object> map, RowBounds rowBounds);
调用如下
List list = bookMapper.selectBookByName(map, new RowBounds(0, 5));
- PageHelper的使用
PageHelper参考自:https:///p/50fcd7f127f0在service中,先开启分页,然后把查询结果集放入PageInfo中。
public PageInfo listUserByPage(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<UserVo> userVoList=userMapper.listUser();
PageInfo pageInfo=new PageInfo(userVoList);
return pageInfo;
}
PageHelper.startPage(pageNum, pageSize);这句非常重要,这段代码表示分页的开始,意思是从第pageNum页开始,每页显示 pageSize条记录。
PageInfo这个类是插件里的类,这个类里面的属性会在输出结果中显示,
使用PageInfo这个类,你需要将查询出来的list放进去