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

返回分頁信息帶分頁的信息

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM