PageHelper与MyBatisPlus IPage分页插件的使用及区别

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查询接口。

猜你喜欢

转载自blog.csdn.net/lps12345666/article/details/129941190