功能
一个分页插件,支持多种数据库,包括mysql、h2等
配置
maven。
springboot直接下面这段依赖即可。官方文档上还说要弄什么拦截器,不弄也是可以的。
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
application.properties。不加也是可以的
#pagehelper
pagehelper.helperDialect=mysql
#数据合理化
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
使用
常用使用方式
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<User> list = userMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
//model返回这个page给前端做分页
pageInfo
变量不懂啥意思的可以直接双击shift 根据关键字找源码,一般都备注的很清楚
//当前页
private int pageNum;
//每页的数量
private int pageSize;
//当前页的数量
private int size;
//由于startRow和endRow不常用,这里说个具体的用法
//可以在页面中"显示startRow到endRow 共size条数据"
//当前页面第一个元素在数据库中的行号
private int startRow;
//当前页面最后一个元素在数据库中的行号
private int endRow;
//总页数
private int pages;
//前一页
private int prePage;
//下一页
private int nextPage;
//是否为第一页
private boolean isFirstPage = false;
//是否为最后一页
private boolean isLastPage = false;
//是否有前一页
private boolean hasPreviousPage = false;
//是否有下一页
private boolean hasNextPage = false;
//导航页码数
private int navigatePages;
//所有导航页号
private int[] navigatepageNums;
//导航条上的第一页
private int navigateFirstPage;
//导航条上的最后一页
private int navigateLastPage;
注意事项
pegeHelper的分页在PageHelper.startPage(1, 10)后,只对紧接着的第一条sql语句起作用。即
- 这条语句是从数据库查询的
- 不对自己弄的数组起作用
之前就被坑了,注意注意