现在我用springboot+html实现前后端分页查询,使用PageHelper该如何实现
时间: 2024-01-31 11:04:36 浏览: 97
SpringBoot如何集成PageHelper分页功能
使用PageHelper实现分页查询需要进行以下步骤:
1. 在pom.xml中添加PageHelper依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.13</version>
</dependency>
```
2. 在application.properties中配置PageHelper:
```properties
# 启用PageHelper自动进行分页,默认为true
pagehelper.auto-dialect=true
# 指定PageHelper使用的数据库类型,默认为mysql
pagehelper.helper-dialect=mysql
```
3. 在Controller中调用PageHelper进行分页查询:
```java
@GetMapping("/users")
public String listUsers(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize,
Model model) {
// 使用PageHelper分页插件
PageHelper.startPage(pageNum, pageSize);
// 查询所有用户
List<User> userList = userService.findAllUsers();
// 将查询结果放入Model中
model.addAttribute("userList", userList);
// 将分页信息放入Model中
PageInfo<User> pageInfo = new PageInfo<>(userList);
model.addAttribute("pageInfo", pageInfo);
return "user-list";
}
```
4. 在HTML页面中使用Thymeleaf标签进行分页展示:
```html
<!-- 显示分页信息 -->
<div th:if="${pageInfo}">
<nav aria-label="Page navigation">
<ul class="pagination">
<li th:class="${pageInfo.isFirstPage()}? disabled : ''">
<a th:href="@{/users(pageNum=1)}">首页</a>
</li>
<li th:class="${pageInfo.hasPreviousPage()}? '' : disabled">
<a th:href="@{/users(pageNum=${pageInfo.prePage})}">上一页</a>
</li>
<li th:each="page:${pageInfo.navigatepageNums}" th:class="${page==pageInfo.pageNum}? active : ''">
<a th:href="@{/users(pageNum=${page})}" th:text="${page}"></a>
</li>
<li th:class="${pageInfo.hasNextPage()}? '' : disabled">
<a th:href="@{/users(pageNum=${pageInfo.nextPage})}">下一页</a>
</li>
<li th:class="${pageInfo.isLastPage()}? disabled : ''">
<a th:href="@{/users(pageNum=${pageInfo.pages})}">末页</a>
</li>
</ul>
</nav>
</div>
<!-- 显示用户列表 -->
<table class="table table-striped">
<thead>
<tr>
<th>ID</th>
<th>姓名</th>
<th>年龄</th>
<th>地址</th>
</tr>
</thead>
<tbody>
<tr th:each="user:${userList}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
<td th:text="${user.address}"></td>
</tr>
</tbody>
</table>
```
以上是使用PageHelper实现分页查询的基本步骤,你可以根据自己的实际情况进行调整。
阅读全文