Springboot 整合 Pagehelper 实现分页

Pagehelper 是 Mybatis 的物理分页插件

其实现原理是实现了 Interceptor 接口,在 sql 语句执行之前将其获取到,并添加 limit 进行分页查询

查看其源码可以发现,在 Pagehelper 中使用了 ThreadLocal 保存分页信息,实现了线程隔离

Springboot 整合 Pagehelper 实现分页_第1张图片

具体使用

在 pom.xml 中引入对 Pagehelper 的依赖

        
            com.github.pagehelper
            pagehelper
            5.1.9
        

改造 Controller 方法

原来的方法

    @GetMapping("/show")
    public List show(){

        List books = bookService.select();

        return books;

    }

改造后

    @GetMapping("/show")
    public PageInfo show(int pageNum, int pageSize){

        PageHelper.startPage(pageNum, pageSize);
        List books = bookService.select();

        // 用于显示分页信息, 也可以直接返回 books 仅进行分页操作
        PageInfo bookPageInfo = new PageInfo<>(books);

        return bookPageInfo;

    }

Postman 测试结果(若去掉 PageInfo, 则仅有 list 显示)

Springboot 整合 Pagehelper 实现分页_第2张图片

你可能感兴趣的:(SpringBoot,MySQL)