• 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);
    }

    返回分页信息带分页的信息

     

     

  • 相关阅读:
    vue vant 循环picker模块的实现方法
    Element的表单验证规则,清空或填充数据如何避免自动触发
    递归寻找树结构的子节点
    vue源码解析实例(二)---vue 虚拟DOM篇
    vue源码解析实例(一)
    变化侦测篇---Object.create(null)的定义
    vue源码-变化侦测篇(小知识点)
    Vue源码学习-开篇
    position: sticky轻松做出吸顶功能
    自适应图片高度蒙层 css
  • 原文地址:https://www.cnblogs.com/dkws/p/12095053.html
Copyright © 2020-2023  润新知