推广

Mybatis Plus 3.4版本之后分页插件的变化

iseeyu3年前 (2024-02-21)推广151

file

一、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, 其他参数 );

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

  • 本文转载注明出处(必须带连接,不能只转文字):字母哥博客。

觉得对您有帮助的话,帮我点赞、分享!您的支持是我不竭的创作动力! 。另外,笔者最近一段时间输出了如下的精品内容,期待您的关注。

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

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/57549.html

相关文章

营销咨询案例集

营销咨询案例集

任何不以促进销售、卖货为目的的、广告、公关、,都是‘耍流氓’!没错,无论是咨询机构还是选择咨询机构服务的企业都需要铭记和思考这几个字。《咨询案例集》收录了5个精华咨询案例。全部是最真实的原汁原味的本土企业营销案例,具体、细节,直达层面。五芳斋粽子:两年,从嘉兴南湖到占领全国...

如何掌握B端用户的信息需求?我总结了这3种。

如何掌握B端用户的信息需求?我总结了这3种。

一、复杂系统的交互 我是做 B 端系统的交互,干这行的朋友都知道 B 端系统很复杂,对用户搜寻信息、完成任务的能力有很高的要求,使用这种系统也往往不像你刷抖音、逛淘宝一样轻松。 针对如此复杂的业务情况,我时常会感觉当前我们“”或者“体验设计”这一行的行业知识基础还是不太扎实。我们大家都知道,“交...

解决网站关键词排名不稳定的方法就是不断分析网站用户搜索意图。

解决网站关键词排名不稳定的方法就是不断分析网站用户搜索意图。

排名越高,优化越成功。然而,由于搜索引擎优化领域的市场竞争过于激烈,不同行业之间的竞争异常激烈。至于关键字排名,我们也可以知道,如果网站的基础不稳定,那么它很可能会导致网站排名的摇晃。一开始,震动情况很大,不稳定。稳定下来,很多人都不明白为什么会出现这样的情况,没有过度优化的现象,又是什么导致了这样...

教你云裂变是怎么做全网整合营销推广。

教你云裂变是怎么做全网整合营销推广。

很多朋友经常听到互联网+,全网营销;但是不是这些词的含义,通俗的说“互联网+”就是“互联网+各个传统行业”,全网营销就是集合传统网络,移动互联网,PC互联网为一体进行营销。下面云裂变全网营销专家来谈谈企业全网推广: 随着互联网环境的变化,单一的关键词排名和竞价已经不能解决企业的需要,所以...

淘宝服装行业动销率多少合适(服装的动销率是什么意思)

淘宝服装行业动销率多少合适(服装的动销率是什么意思)

服装行业的动销率一般是80%以上算合格,在90%以上,就是优秀,所以,动销率至少要达到80%,低于这个数,对店铺权重是有影响的,要赶紧采取措施提供动销率。...

抢在iOS11发布前,如何获得新版AppStore流量红利

抢在iOS11发布前,如何获得新版AppStore流量红利

  导读:对于APP推广运营人员来说,第三季度最大的事莫过于IOS11发布,曾经IOS推广的套路在这里要做个切分,接下来是研究新玩法的时候。全新的AppStore流量要怎么玩?新的流量红利能不能吃到?在新版AppStore生态下,怎么提升搜索排名与下载转化?……  ...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片