整合PageHelper
小于 1 分钟Spring全家桶SpringBoot精讲细讲
引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
配置文件
application.yaml
pagehelper:
helper-dialect: mysql
reasonable: true
support-methods-arguments: true
params: count=countSql
使用
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/user")
public PageInfo<User> findAllUser(){
// 分页
PageHelper.startPage(1, 2);
List<User> userList = userService.findAllUser();
return new PageInfo<>(userList);
}
}
结果:

自定义返回参数
自定义一个PageBean
@Data
public class PageBean<T> implements Serializable {
private static final long serialVersionUID = 1L;
/** 总记录数 **/
private long total;
/** 结果集 **/
private List<T> list;
/** 第几页 **/
private int pageNum;
/** 每页记录数 **/
private int pageSize;
/** 总页数 **/
private int pages;
/** 当前页的数量 <= pageSize,该属性来自ArrayList的size属性 **/
private int size;
public PageBean(List<T> list) {
if (list instanceof Page) {
Page<T> page = (Page<T>) list;
this.pageNum = page.getPageNum();
this.pageSize = page.getPageSize();
this.total = page.getTotal();
this.pages = page.getPages();
this.list = page;
this.size = page.size();
}
}
}
使用自己定义的PageBean
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/user")
public PageBean<User> findAllUser(){
// 分页
PageHelper.startPage(1, 2);
List<User> userList = userService.findAllUser();
return new PageBean<>(userList);
}
}
