| 
 一、MybatisPlusInterceptor
 MybatisPlusInterceptor是一系列的實(shí)現(xiàn)InnerInterceptor的攔截器鏈,也可以理解為一個集合。可以包括如下的一些攔截器 
 二、舊版分頁插件配置方法(Mybatis Plus 3.4.0版本之前)@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 設(shè)置請求的頁面大于最大頁后操作, true調(diào)回到首頁,false 繼續(xù)請求  默認(rèn)false
        // paginationInterceptor.setOverflow(false);
        // 設(shè)置最大單頁限制數(shù)量,默認(rèn) 500 條,-1 不受限制
        // paginationInterceptor.setLimit(500);
        // 開啟 count 的 join 優(yōu)化,只針對部分 left join
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}三、新的分頁插件配置方法(Mybatis Plus 3.4.0版本及其之后的版本)新的分頁插件,一緩和二緩遵循mybatis的規(guī)則,需要設(shè)置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現(xiàn)問題 @Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {
  /**
   * 新的分頁插件,一緩和二緩遵循mybatis的規(guī)則,需要設(shè)置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現(xiàn)問題(該屬性會在舊插件移除后一同移除)
   */
  @Bean
  public MybatisPlusInterceptor mybatisPlusInterceptor() {
    MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
    //向Mybatis過濾器鏈中添加分頁攔截器
    interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
    //還可以添加i他的攔截器
    return interceptor;
  }
  @Bean
  public ConfigurationCustomizer configurationCustomizer() {
    return configuration -> configuration.setUseDeprecatedExecutor(false);
  }
}四、分頁查詢的使用方法分頁查詢的使用方法沒有變化,仍然和Mybatis之前的版本一致,沒有變化。 這里簡單舉一個例子 Page<SysUserOrg> page = new Page<> (pageNum,pageSize); //查詢第pageNum頁,每頁pageSize條數(shù)據(jù) //將分頁參數(shù)page作為Mybatis或Mybatis Plus的第一個參數(shù)傳入持久層函數(shù),即可完成分頁查詢 return mySystemMapper.selectUser(page, 其他參數(shù) ); | 
|  |