MyBatisPlus IPage分页插件我专门整理过一篇如下
Mybatis plus分页插件:PageHelper+BootStrap+Vue+axios实现分页功能
接下来介绍一下GitHub的PageHelper
首先导入依赖
<!--springboot整合pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
RequestParam.java
@Data//Lombok插件
public class RequestParam<T> {
private Integer pageNum;
private Integer pageSize;
private T data;
}
service层(以下的Goods是我的实体类 按照自己的需求改即可)
HttpResult<?> queryGoodByNameAndStatus(RequestParam<Goods> param);
Service层实现类
@Override
public HttpResult<?> queryGoodByNameAndStatus(RequestParam<Goods> param) {
//分页开始
PageHelper.startPage(param.getPageNum(),param.getPageSize());
//调用mapper层接口
List<Goods> goods = goodMapper.queryGoodByNameAndStatus(param.getData().getName(), 0);
//把mapper接口返回参数放入pageInfo
PageInfo pageInfo=new PageInfo(goods);
return new HttpResult<>().ok(pageInfo);
}
Controller层
@PostMapping("queryGood")
public HttpResult<?> queryGood(@RequestBody RequestParam<Goods> requestParam) {
log.info(JSON.toJSONString(requestParam));
return userService.queryGoodByNameAndStatus(requestParam);
}
总结:
IPage是MybatisPlus自带的插件,不需要额外引入依赖,但查询分页需要定义包含IPage类型的参数的专门接口。
PageHelper需要引入额外的依赖,但不强制要求使用包含分页参数的专门接口,可以直接使用已有的List查询接口。