springboot 整合pageHelper 注解形式
定义分页注解
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD,ElementType.TYPE}) @Documented public @interface EnablePage { String value() default ""; }
定义需要分页的拦截
@Aspect @Component public class PageAop extends BaseService { /** * 定义切入点,切入点为com.example.fileupload.controller下的所有函数 */ @Pointcut("execution(public * com.liuchao.mayikttest.mapper.*.*(..))") /* * 定义连接点 */ public void webLog() { } @Around("webLog()") public Object doAroundAdvice(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { MethodSignature methodSignature = (MethodSignature)proceedingJoinPoint.getSignature(); Method method = methodSignature.getMethod(); EnablePage enablePage = method.getAnnotation(EnablePage.class); if(StringUtils.isEmpty(enablePage)){ Object obj = proceedingJoinPoint.proceed(); return obj; } HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); String pageNo = request.getParameter("pageNo"); String pageSize = request.getParameter("pageSize"); PageHelper.startPage(Integer.valueOf(pageNo), Integer.valueOf(pageSize)); Object proceed = proceedingJoinPoint.proceed(); return proceed; /*BaseResponse baseResponse =(BaseResponse) proceedingJoinPoint.proceed(); List data = (List)baseResponse.getData(); PageInfo pageInfo = new PageInfo(data); return setSuccess(pageInfo);*/ } }
在需要分页的Mapper方法上加上注解
public interface UserMapper { @EnablePage List<UserDO> findAll(); UserDO findById(int id); }
返回分页信息带分页的信息
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步