如何使用PageHelper进行分页
时间: 2023-07-20 22:33:46 浏览: 111
pagerhelper分页插件.pdf
使用PageHelper进行分页的步骤如下:
1. 在项目中引入PageHelper依赖,例如Maven项目中添加以下依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
2. 在MyBatis配置文件中配置PageHelper插件,例如:
```xml
<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>
```
3. 在Controller中接收分页参数,例如:
```java
@RequestMapping("/list")
public String list(@RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "10") Integer pageSize,
Model model) {
// 调用PageHelper.startPage方法设置分页信息
PageHelper.startPage(pageNum, pageSize);
// 查询数据
List<User> userList = userService.getUserList();
// 使用PageInfo对查询结果进行包装
PageInfo<User> pageInfo = new PageInfo<>(userList);
// 将分页结果传递给View层进行展示
model.addAttribute("pageInfo", pageInfo);
return "user/list";
}
```
4. 在View层中使用PageInfo提供的分页信息进行展示,例如:
```html
<table>
<thead>
<tr>
<th>#</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</thead>
<tbody>
<c:forEach var="user" items="${pageInfo.list}">
<tr>
<td>${user.id}</td>
<td>${user.name}</td>
<td>${user.age}</td>
<td>${user.gender}</td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<ul>
<li><a href="${pageInfo.navigateFirstPage}">首页</a></li>
<li><a href="${pageInfo.prePage}">上一页</a></li>
<li><a href="${pageInfo.nextPage}">下一页</a></li>
<li><a href="${pageInfo.navigateLastPage}">末页</a></li>
</ul>
</div>
```
以上就是使用PageHelper进行分页的基本步骤,通过简单的配置和代码编写即可实现快捷方便的分页查询。
阅读全文