mybatis-插件and-pagehelp
2021-01-18 19:26:08   13  举报             
     
         
 pagehelp
    作者其他创作
 大纲/内容
 PageMethod.startPage
  interceptor.intercept (Invocation)
  PageHelper.getLocalPage()
    插件的自己实现
  拦截query方法
  PageInterceptor
  interceptpluginsetProperties
  wrap
  Dialect的实现类PageHelper
  分页信息缓存在线程本地变量中
  Plugin
  Object wrap()//创建代理Object invoke()//插件执行逻辑
  interceptorChain.pluginAll(executor)
  InvocationHandler
  invoke()
  interceptorChain.addInterceptor(interceptor)
  执行时
  PageMethod.setLocalPage
  InterceptorChain
   List<Interceptor>pluginAll(调用plugin)
  (PageParams)pageParams.getPage()
  interceptorChain.pluginAll(resultSetHandler)
  扩展点,可供插件的使用
  interceptorChain.pluginAll(statementHandler)
  创建代理对象存在configuration
  newResultSetHandler
  pagehelper-->PageInterceptor分页插件
  @Intercepts({@Signature(type = font color=\"#ff0000\
  插件的逻辑
  启动时加载配置  newExecutor
  proceed可以调用该方法直接执行被拦截的方法
  plugin
  ThreadLocal<Page> LOCAL_PAGE
  interceptorChain.pluginAll(parameterHandler)
  Interceptor
  newStatementHandler
  invoke
  启动时pluginAll
  代理模式
  Configuration
  获取分页信息
  newParameterHandler
  Executor
  Invocation
  query
  (Dialect)dialect.skip()
  PageHelper.startPage应用中设置分页
  启动时加载配置
  new font color=\"#ff0000\
   
 
 
 
 
  0 条评论
 下一页
 为你推荐
 查看更多
    
   
   
   
   
   
  
  
  
  
  
  
  
  
 