pageHelper
实体:
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean {
private Long total; //总记录数
private List rows; //当前页数据列表
}
spring配置
pageHelper是一个开源的MyBatis分页插件,可以方便地实现分页查询功能。使用pageHelper需要以下步骤:
- 在pom.xml文件中添加以下依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.2.0</version>
</dependency>
- 在MyBatis配置文件中配置pageHelper插件:
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
<property name="reasonable" value="true"/>
<property name="supportMethodsArguments" value="true"/>
<property name="params" value="count=countSql"/>
</plugin>
</plugins>
- 在Java代码中使用PageHelper.startPage方法来开启分页,例如:
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userDao.selectUserList();
PageInfo<User> pageInfo = new PageInfo<>(userList);
其中,pageNum表示当前页码,pageSize表示每页显示的记录数,userDao.selectUserList()是查询用户列表的方法,PageInfo是封装了分页信息的类。
使用pageHelper可以方便地实现分页查询功能,减少了开发工作量。
springboot配置
如果你的项目是Spring Boot项目,可以按照以下步骤使用pageHelper:
- 在pom.xml文件中添加以下依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.4.2</version>
</dependency>
-
在application.properties文件中配置pageHelper:
# pageHelper配置 #1. pagehelper.helperDialect=mysql :指定使用的数据库方言,这里是mysql,也可以是其他数据库,如oracle、sqlserver等。 pagehelper.helperDialect=mysql #2. pagehelper.reasonable=true :启用合理化时,如果pageNum<=0会查询第一页,如果pageNum>pages会查询最后一页。默认值为false。 pagehelper.reasonable=true # 3. pagehelper.supportMethodsArguments=true :支持通过Mapper接口参数来传递分页参数,默认值为false,表示支持通过PageHelper提供的静态方法来传递分页参数。 pagehelper.supportMethodsArguments=true # 4. pagehelper.params=count=countSql :指定通过Mapper接口参数传递的Page对象,在查询前会执行count语句来查询总记录数,这里的countSql表示查询总记录数的SQL语句 pagehelper.params=count=countSql
-
在Java代码中使用PageHelper.startPage方法来开启分页,例如:
// 设置分页参数
PageHelper.startPage(pageNum, pageSize);
// 执行分页查询
List<User> userList = userDao.selectUserList();
// 获取分页结果
Page<Emp> p = (Page<Emp>) empList;
//封装PageBean
PageBean pageBean = new PageBean(p.getTotal(), p.getResult());
其中,pageNum表示当前页码,pageSize表示每页显示的记录数,userDao.selectUserList()是查询用户列表的方法,PageInfo是封装了分页信息的类。
使用pageHelper可以方便地实现分页查询功能,减少了开发工作量。在Spring Boot项目中使用pageHelper也非常简单,只需要添加依赖和配置即可。