传统的分页一般是使用sql语句 limit 关键词实现的。
PageHelper插件提供了无需写sql语句的实现方式,更简单功能也很全面。
1.添加依赖
<!-- 分页插件 -->
<!-- pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
2.编写配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
3.编写分页代码
分页和查找全部的代码几乎一样,只需要在查找前插入
PageHelper.startPage(startPage,pageSize);
startPage:开始的页数,pageSize:每页的数量。
public PageInfo<UserModel> getPageInfo(int startPage,int pageSize){
PageHelper.startPage(startPage,pageSize);
List<UserModel> userList=userdao.findAll();
return new PageInfo<UserModel>(userList);
}
PageInfo是PageHelper自带的工具栏,其中包含很多有用的属性。比如
pageNum:当前为第几页
pageSize:每页的数据行数
startRow:当前页数据从第几条开始
endRow:当前页数据从第几条结束
pages:总页数
prePage:上一页页数
nextPage:下一页页数
hasPreviousPage:是否有上一页
hasNextPage:是否有下一页
navigatepageNums:所有页码的数组
要得到分页后的数据只需使用 pageInfo.getList()得到。