spring项目中如何使用PageHelper进行分页查询
时间: 2023-11-27 12:50:40 浏览: 69
在Spring项目中使用PageHelper进行分页查询,需要以下几个步骤:
1. 引入依赖
在pom.xml文件中添加PageHelper依赖:
```
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
```
2. 配置PageHelper
在Spring Boot项目中,可以在application.properties或application.yml中添加如下配置:
```
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
```
其中,helperDialect表示数据库方言,reasonable表示是否启用合理化分页(即只有一页数据时不进行分页),supportMethodsArguments表示是否支持使用方法参数进行分页,params表示传入参数时使用的别名。
3. 在DAO层使用PageHelper进行分页查询
在需要进行分页查询的方法中,使用PageHelper.startPage方法设置分页参数,例如:
```
public PageInfo<User> getUserList(int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userDao.getUserList();
return new PageInfo<>(userList);
}
```
其中,pageNum表示当前页码,pageSize表示每页数据量,getUserList方法是自定义的查询方法,返回userList。
4. 在Controller层获取分页结果
在Controller层,调用getUserList方法获取分页结果,例如:
```
@GetMapping("/users")
public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
return userService.getUserList(pageNum, pageSize);
}
```
其中,@RequestParam注解表示获取请求中的参数,如果没有传递参数,则使用默认值。最后返回PageInfo对象,包含分页信息和查询结果。
阅读全文