1,通过Maven引入PageHelper插件
<!-- pagehelper分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.2</version>
</dependency>
2,在数据库配置文件中增加PageHelper的定义
3,在服务实现层,调用DAO层进行数据库查询前,定义查询开始偏移值和需要查询出来的记录数。
PageHelper.offsetPage(start, length); 通过offsetPage,定义查询开始记录,查询记录数。
4,控制层,调用分页查询完成后,需要调用PageInfo,传入参数为查询返回的List。这样PageInfo就会自动给你进行计算分页了。
PageInfo的分页计算结果很多,部分经常用到的属性如下:当前页 private int pageNum;
每页的数量 private int pageSize;
当前页的数量 private int size;
当前页面第一个元素在数据库中的行号 private int startRow;
当前页面最后一个元素在数据库中的行号 private int endRow;
总记录数 private long total;
总页数 private int pages;
结果集 private List<T> list;
第一页 private int firstPage;
前一页 private int prePage;
是否为第一页 private boolean isFirstPage = false;
是否为最后一页 private boolean isLastPage = false;
是否有前一页 private boolean hasPreviousPage = false;
是否有下一页 private boolean hasNextPage = false;
导航页码数 private int navigatePages;
所有导航页号 private int[] navigatepageNums;