pagehelper的使用方法

一、介绍

现在一般springboot,mybatis项目中的mapper,pojo都是通过逆向工程直接生成的,但是生成的mapper中的查询语句中是没有分页功能的,如果想要分页的话,只能自己再去xml配置文件中修改sql语句,显得特别麻烦。为了方便快捷的翻页,这里引入一个分页插件。

pagehelper,原理如下

fenye

使用这个插件后,会自动在我们的sql查询中加上limit,而不需要我们自己再去做limit处理

二、使用方法

​ 首先引入依赖

1
2
3
4
5
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.11</version>
</dependency>

​ 然后再在yml文件中配置

1
2
3
4
5
#pagehelper配置
pagehelper:
reasonable: true
support-methods-arguments: true
params: count=countSql

使用的时候只需要在我们的查询使用之前加上一句就行

​ PageHelper.startPage(pageNum,pageSize);

​ pageNum是显示第几页;pageSize是每页的记录数

1
2
3
4
5
6
7
@ResponseBody
@RequestMapping("/list")
public List<TbItem> selectAll() {
PageHelper.startPage(1,10);
List<TbItem> tbItems = tbItemService.selectAll();
return tbItems;
}

注意:查询语句必须紧跟在PageHelper.startPage(pageNum,pageSize);语句之后,不然分页会有问题。

为了方便,我们通常创建一个PageInfo的对象,从对象中获取分页信息

1
2
3
4
5
6
7
8
@ResponseBody
@RequestMapping("/list")
public PageInfo<TbItem> selectAll() {
PageHelper.startPage(1,10);
List<TbItem> tbItems = tbItemService.selectAll();
PageInfo<TbItem> pageInfo = new PageInfo<>(tbItems);
return pageInfo;
}