pagehelper分页使用
时间: 2023-08-30 10:09:27 浏览: 167
PageHelper 是一个基于 MyBatis 的分页插件,它可以通过拦截 Executor 的方式,在 SQL 执行前自动进行分页操作,简化了分页操作的繁琐步骤。
使用 PageHelper 进行分页操作,需要以下步骤:
1. 引入 PageHelper 依赖
Maven 依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.11</version>
</dependency>
```
2. 配置 PageHelper 插件
在 MyBatis 配置文件中添加如下配置:
```xml
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<property name="helperDialect" value="mysql"/>
<property name="reasonable" value="true"/>
<property name="supportMethodsArguments" value="true"/>
</plugin>
</plugins>
```
其中,`helperDialect` 表示数据库类型(支持的数据库类型详见官方文档),`reasonable` 表示是否启用合理化查询(即当查询页码小于 1 或大于总页数时,自动查询第一页或最后一页),`supportMethodsArguments` 表示是否支持分页参数的绑定(即在方法参数中直接传入分页参数)。
3. 在需要分页的查询方法中使用 PageHelper.startPage 方法
在需要进行分页的查询方法中,使用 `PageHelper.startPage` 方法设置分页参数,例如:
```java
public PageInfo<User> queryUserList(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userMapper.queryUserList();
return new PageInfo<>(userList);
}
```
其中,`startPage` 方法的两个参数分别表示当前页码和每页显示条数。
4. 获取分页结果
使用 `PageInfo` 对象包装查询结果,即可获取分页相关的信息:
```java
PageInfo<User> pageInfo = userService.queryUserList(1, 10);
List<User> userList = pageInfo.getList(); // 当前页的数据列表
int pageNum = pageInfo.getPageNum(); // 当前页码
int pageSize = pageInfo.getPageSize(); // 每页显示条数
int total = pageInfo.getTotal(); // 总记录数
int pages = pageInfo.getPages(); // 总页数
```
以上就是使用 PageHelper 进行分页操作的基本步骤。
阅读全文