1.介绍pageHelper
2.pageHelper的基本配置
3.使用pageHelper实现分页功能
一、介绍pageHelper
pageHelper是一款分页插件,它能很好的集成在spring boot中在它是一个基于mybatis的一款插件。它是的底层实现技术则是使用动态代理实现的。所以我们在使用它时,我们需要使用mybatis作为持久层框架。如果有需要请参照《spring boot 集成 mybatis》
二、pageHelper的基本配置
如果我们需要使用pageHelper的话,我们需要在spring boot项目中引入pageHelper的依赖。以下是PageHelper的GitHub地址https://github.com/pagehelper/Mybatis-PageHelper
在这里我们导入以下依赖:
<!-- pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency>
同样,我们在spring boot的application.properties中可以配置pageHelper的基本信息,
# 指定数据库,不指定的话会默认自动检测数据库类型 pagehelper.helperDialect=mysql # 是否启用分页合理化。 # 如果启用,当pagenum<1时,会自动查询第一页的数据,当pagenum>pages时,自动查询最后一页数据; # 不启用的,以上两种情况都会返回空数据 pagehelper.reasonable=true # 默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。 pagehelper.supportMethodsArguments=true # 用于从对象中根据属性名取值, # 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, # 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero pagehelper.params=count=countSql
在1.2.5这个版本中我们可以不用配置,使用默认的就够用了。
三、使用pageHelper实现分页功能
在上一步中,我们已近知道pageHelper的基本配置了。在这,我们使用pageHelper实现分页功能。
我们使用《mysql必知必会》中给出的数据库进行分页查询。
1.创建City实体类
package com.springboot.pagehelper; public class City { // id private int id; // 国家名 private String name; // 国家代码 private String countryCode; // 地区 private String district; // 人口 private int population; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCountryCode() { return countryCode; } public void setCountryCode(String countryCode) { this.countryCode = countryCode; } public String getDistrict() { return district; } public void setDistrict(String district) { this.district = district; } public int getPopulation() { return population; } public void setPopulation(int population) { this.population = population; } }