利用pagehelper 写一个分页
时间: 2023-07-18 19:23:54 浏览: 86
好的,以下是使用 PageHelper 实现分页的示例代码:
1. 引入依赖
在 pom.xml 文件中添加以下依赖:
```xml
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
2. 配置 PageHelper
在 application.properties 文件中添加以下配置:
```properties
# 设置默认的分页参数
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
```
3. 在 DAO 层中使用 PageHelper
```java
@Repository
public interface UserDao {
@Select("SELECT * FROM user")
List<User> findAll();
}
```
在 DAO 层的方法中,可以直接使用 PageHelper.startPage 方法来开启分页功能:
```java
@Repository
public interface UserDao {
@Select("SELECT * FROM user")
List<User> findAll(PageRequest pageRequest);
}
```
4. 在 Controller 层中调用分页方法
```java
@RestController
public class UserController {
@Autowired
private UserDao userDao;
@GetMapping("/users")
public PageResult<User> getUsers(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
PageRequest pageRequest = new PageRequest(pageNum, pageSize);
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userDao.findAll(pageRequest);
PageInfo<User> pageInfo = new PageInfo<>(userList);
return new PageResult<>(pageInfo.getList(), pageInfo.getTotal());
}
}
```
在 Controller 层中,可以通过调用 PageHelper.startPage 方法来开启分页功能,然后调用 DAO 层的分页方法进行查询,最后将查询结果封装成 PageResult 返回给前端即可。
以上就是使用 PageHelper 实现分页的示例代码,希望可以帮到你。
阅读全文