依赖
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
格式
// PageHelper.startPage() 必须紧跟着userMapper.xxx()查询,否则查询无效!!!
PageHelper.startPage(1, 5);
List<User> userList = userMapper.selectByExample(userExample);
使用
public ComResponse<List<User>> getLimitService() {
UserExample userExample = new UserExample();
/**
* pageNum:第一个页面(注意:页面是从1开始的)
* pageSize: 一页展示几条数据
*/
// 分页
PageHelper.startPage(1, 5);
List<User> userList = userMapper.selectByExample(userExample);
// 获取查询出来的数据分页信息
PageInfo<User> pageInfo = new PageInfo<>(userList);
// 获取总行数
long count = pageInfo.getTotal();
// 组织数据
ComResponse<List<User>> comResponse = new ComResponse<>();
comResponse.setData(userList);
comResponse.setCount(count);
return comResponse;
}
controller层调用service
@RequestMapping(value = "/getLimit")
public ComResponse getLimit() {
ComResponse<List<User>> userListAndPageInfo = userService.getLimitService();
return userListAndPageInfo;
}
来记录下PageInfo实例化对象中常用方法
还有很多方法,项目中用到在记录。
System.out.println(pageInfo.getPages()); //2 可以分几页 (总条数/一页展示的条数)
System.out.println(pageInfo.getSize()); // 5 查询出来的条数
System.out.println(pageInfo.getList()); // List<T> 查询出来的数据
System.out.println(pageInfo.getTotal()); // 9 数据库数据总条数
下边是从网上找的:
PageInfo.list 结果集
PageInfo.pageNum 当前页码
PageInfo.pageSize 当前页面显示的数据条目
PageInfo.pages 总页数
PageInfo.total 数据的总条目数
PageInfo.prePage 上一页
PageInfo.nextPage 下一页
PageInfo.isFirstPage 是否为第一页
PageInfo.isLastPage 是否为最后一页
PageInfo.hasPreviousPage 是否有上一页
PageHelper.hasNextPage 是否有下一页
几个注意点
PageHelper.startPage(pageNum, pageSize);
当 pageNum <= 0 时,默认查询的是第一页的数据;
当 pageNum >= 总页数 时,默认查询的是最后一页的数据。