一. PageHelper简介
PageHelper是Github上开源的MyBatis分页插件,使用起来非常的简单,方便,并且支持任何复杂的单表、多表分页。Github网址:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md。
感兴趣的可以自己到官网查看。
二.使用maven引入相关的jar
在web项目的pom文件中引入两个jar,第一个是springboot对mybatis的支持jar.<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
第二个是springboot对pagehelper支持的jar.<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
配置如下图:撒旦
三.配置PageHelper方言
在项目配置文件application.properties配置pagehelper方言为mysql
pagehelper.helper-dialect=mysql
配置如下图:配置PageHelper方言
因为现在对pagehelper的使用比较简单,所以就只配置了pagehelper.helper-dialect更多的参数可以参考github。
四.编写业务逻辑代码
使用pagehelper非常的简单,只需要在你想要分页的查询逻辑前添加一行代码即可,代码:
PageHelper.startPage(pageNum, pageSize);
pageNum:页数(第几页)
pageSize:每页的数据行数
public ``String ``getAll``(){
``PageHelper``.``_startPage_``(``4``, ``10``);
``List``<``UserInfo``> ``all ``= ``userInfoMapper``.getAll();
``PageInfo``<``UserInfo``> ``pageInfo ``= ``new ``PageInfo<>(``all``);
``return ``pageInfo``.toString();
}
这样就可以实现查询分页了。
五.分析PageInfo类种主要属性的用法
上图有一行注掉的代码
PageInfo
PageInfo其实是pagehelper给我们封装的一个类,里面有一些我们做分页表常用的属性,在这
里我注释了几个比较常用的属性。PageInfo类所有属性
pageNum:当前为第几页
pageSize:每页的数据行数
startRow:当前页数据从第几条开始
endRow:当前页数据从第几条结束
pages:总页数
prePage:上一页页数
nextPage:下一页页数
hasPreviousPage:是否有上一页
hasNextPage:是否有下一页
navigatepageNums:所有页码的数组
我们可以根据这几个属性控制页面切换的操作,比如hasPreviousPage为false表示没有上一页,
当前为首页,我们可以控制页面不显示或者不能使用首页和上一页功能。非常的简单。
下面是我做的一个小项目示例图: