PageHelper的使用
(源码在gitee,网址https://gitee.com/liu-zhiyong/ssm-security.git)
一.功能:分页
二.原理
执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,即需要和mybatis配合使用。
三.在ssm中使用方法
1.引入jar包,在pom.xml中添加如下依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>最新版本</version>
</dependency>
2. 配置拦截器插件
在 Spring 配置文件中配置拦截器插件
使用 spring 的属性配置方式,可以使用 plugins
属性像下面这样配置:
<property name="plugins">
<array>
<!-- 传入插件的对象 -->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<props>
<prop key="helperDialect">mysql</prop> //数据库类型
<prop key="reasonable">true</prop> //分页合理化
</props>
</property>
</bean>
</array>
</property>
3.PageHelper.startPage
静态方法调用
在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage
静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。
使用PageInfo
的用法
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
controller使用:
四.在springboot中使用方法
1.引入jar包,在pom.xml中添加如下依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>版本</version>
</dependency>
2.添加配置
(1)aplication.yml添加配置
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
·helper-dialect:
配置使用哪种数据库语言,不配置的话pageHelper也会自动检测
·reasonable:
配置分页参数合理化功能,默认是false。 #启用合理化时,如果pageNum<1会查询第一页,如果pageNum>总页数会查询最后一页; #禁用合理化时,如果pageNum<1或pageNum>总页数会返回空数据。
(2)application.properties添加配置
这些属性可以不加,依然可以实现分页功能
#pagehelper分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
3.PageHelper.startPage
静态方法调用
使用PageInfo
的用法
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
List<Country> list = countryMapper.selectAll();
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
五.pageInfo使用时的jsp页面
第几页:
每页几条数据:
每页几条数据函数: