关于spring:Mybatis-Plus-34版本之后分页插件的变化

一、MybatisPlusInterceptor

从Mybatis Plus 3.4.0版本开始,不再应用旧版本的PaginationInterceptor ,而是应用MybatisPlusInterceptor。

MybatisPlusInterceptor是一系列的实现InnerInterceptor的拦截器链,也能够了解为一个汇合。能够包含如下的一些拦截器

  • 主动分页: PaginationInnerInterceptor(最罕用)
  • 多租户: TenantLineInnerInterceptor
  • 动静表名: DynamicTableNameInnerInterceptor
  • 乐观锁: OptimisticLockerInnerInterceptor
  • sql性能标准: IllegalSQLInnerInterceptor
  • 避免全表更新与删除: BlockAttackInnerInterceptor

二、旧版分页插件配置办法(Mybatis Plus 3.4.0版本之前)

@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置申请的页面大于最大页后操作, true调回到首页,false 持续申请  默认false
        // paginationInterceptor.setOverflow(false);
        // 设置最大单页限度数量,默认 500 条,-1 不受限制
        // paginationInterceptor.setLimit(500);
        // 开启 count 的 join 优化,只针对局部 left join
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}

三、新的分页插件配置办法(Mybatis Plus 3.4.0版本及其之后的版本)

新的分页插件,一弛缓二缓遵循mybatis的规定,须要设置 MybatisConfiguration#useDeprecatedExecutor = false 防止缓存呈现问题

@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {

  /**
   * 新的分页插件,一弛缓二缓遵循mybatis的规定,须要设置 MybatisConfiguration#useDeprecatedExecutor = false 防止缓存呈现问题(该属性会在旧插件移除后一起移除)
   */
  @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条数据
//将分页参数page作为Mybatis或Mybatis Plus的第一个参数传入长久层函数,即可实现分页查问
return mySystemMapper.selectUser(page, 其余参数 );

欢送关注我的博客,外面有很多精品合集

本文转载注明出处(必须带连贯,不能只转文字):字母哥博客 – zimug.com

感觉对您有帮忙的话,帮我点赞、分享!您的反对是我不竭的创作能源! 。另外,笔者最近一段时间输入了如下的精品内容,期待您的关注。

  • 《手摸手教你学Spring Boot2.0》
  • 《Spring Security-JWT-OAuth2一本通》
  • 《实战前后端拆散RBAC权限管理系统》
  • 《实战SpringCloud微服务从青铜到王者》
  • 《VUE深入浅出系列》

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年50元

阿里云限时活动-2核2G-5M带宽-60G SSD-1000G月流量 ,特惠价99元/年(原价1234.2元/年,可以直接买3年),速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据