缘由
需要分页,用的Mybaits,想到PageHelper,去Maven仓库中心搜了下PageHelper,结果发现了下面这个包,一看就是跟SpringBoot整合的,感觉靠谱,就选它了。
依赖
build.gradle添加依赖:
compile group: ‘com.github.pagehelper’, name: ‘pagehelper-spring-boot-starter’, version: '1.2.10’
因为用到了AOP,添加Spring AOP依赖:
compile group: ‘org.springframework.boot’, name: ‘spring-boot-starter-aop’, version: '2.0.2.RELEASE’
代码
PageHelper里面有三种分页方式,分别是RowBounds方式的调用,PageHelper.startPage 静态方法调用以及使用参数方式。本篇使用的是第二种,PageHelper.startPage 静态方法调用,官方样例如下:
通过上面的依赖包,代码里不需要任何配置,直接通过PageHelper.startPage(1, 10),之后紧跟的第一个查询方法就会被分页,就这么简单。但每次都写这些东西明显不方便,所以使用AOP来进行分页。
AOP代码
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.neusoft.validate.entity.AppResponse;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.