1949啦网--小小 痛苦,是因为能力和欲望不匹配造成的

Spring AOP + PageHelper分页

  1. 增加依赖配置

     <groupId>org.aspectj</groupId>  <artifactId>aspectjweaver</artifactId>  <version>1.6.11</version>

     <groupId>org.aspectj</groupId>  <artifactId>aspectjrt</artifactId>  <version>1.6.11</version>

增加pagehelper

<dependency>   <groupId>com.github.pagehelper</groupId>   <artifactId>pagehelper</artifactId>   <version>4.1.0</version> </dependency> 
  1. 增加配置

    <context:component-scan base-package="com.example.controller"/>

       <!-- 启动对@AspectJ注解的支持 -->   <aop:aspectj-autoproxy/>     <!--启动springmvc注解-->   <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager" /> 
  2. 增加注解

    @Target({ElementType.PARAMETER, ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface EnablePaging {

       String value()  default "";

    }

  3. 增加AOP文件。

这里约定最后两个参数是pageNum 和pageSize

@Aspect @Component @Slf4j public class PageAop {      @Pointcut("@annotation(com.example.annotation.EnablePaging)")     public void serviceAspect(){         log.info("serviceAspect");     }       @Before("serviceAspect()")     public  void doBefore(JoinPoint joinPoint) {         log.info("doBefore");     }           @Around(value = "serviceAspect()")     public Object doAround(ProceedingJoinPoint point) throws  Throwable{         log.info("doAround ");         Object[] args = point.getArgs();         Integer pageNum = 1;         Integer pageSize = 10;         if(args.length >= 2){             pageNum = (Integer)args[args.length -2];             pageSize = (Integer)args[args.length - 1];         }         PageHelper.startPage(pageNum, pageSize);         return  point.proceed(args);     }     } 
  1. Controller层

    @RequestMapping(value = "queryLogs")

     @EnablePaging  @ResponseBody  public  ServerResponse<PageInfo> queryLogs(HttpServletResponse response,                                                    @RequestParam(value = "pageNum",defaultValue = "1") int pageNum,                                                    @RequestParam(value = "pageSize",defaultValue = "10")int pageSize){      List<Log> list =  iLogService.queryList(pageNum, pageSize);      PageInfo pageInfo = new PageInfo(list);      return ServerResponse.createBySuccess(pageInfo);  }

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

作者:xialibing 分类:网络教程 浏览: