推广

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

iseeyu2年前 (2024-02-21)推广146

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

相关文章

以“滴滴车票”,谈谈产品的“需求、体验和自传播”

以“滴滴车票”,谈谈产品的“需求、体验和自传播”

8月9日,滴滴发布了一款创新产品,名叫“滴滴车票”。生成一张“车票”赠予他人后,对方无需下载App/注册帐号,就能方便地打车。 产品的使用流程是: 生成车票:进入滴滴出行App的车票页面,选择车票封面、输入对方的手机号和打车目的地即可生成一张车票。 赠送车票:通过微...

千牛极速推广怎么操作(千牛极速推效果怎么样)

千牛极速推广怎么操作(千牛极速推效果怎么样)

“极速推”可以在24小时帮商家将新品曝光给潜在用户,很大程度缩短商品“打爆款”的周期,该工具结合搜索算法,商家在24小时内就可以知道潜在消费者是否喜欢某款新品。...

SEO搜索引擎优化。

SEO搜索引擎优化。

看人家网站的关键词仿佛很好设置,但到了本人却变成了难事,在SEO搜索引擎优化的时分,设置网站关键词也是有技巧的,网站的标题就那么点字数,又想要掩盖的关键词多,这些都是有办法的,下面我们来看看网站关键词的设置办法及技巧! 网站都能够在哪里设置关键词? 要设置关键词,我们应该首先说元标签的关键词...

一张图带你看透抖音养号技巧 制定一套流水化的运营流程。

一张图带你看透抖音养号技巧 制定一套流水化的运营流程。

短视频之战已经进入下半场,内容红利之后自然是流量红利。关于流量池的概念反复被提及,抢占流量池、获得高推荐高曝光,是每一个账号运营人最关心的问题,也是KPI最直观的体现。 利用抖音算法制定出一套流水化的操作流程,通过运营手段的干预跑赢其他账号,抢占流量的制高点,是我们账号运营人必须掌握的工作技能...

赚钱必须有行动

是件幸福的事,人人都想赚钱,可有的人成功,有的人却不成功,为什么,分析原因,失败的人大部分都是把赚钱希望放在了空想和等等看上,而成功的人贵在把赚钱希望落在了踏踏实实的行动上。一个人要想实现自己的理想,最重要的便是行动和坚持,理想一旦计划付诸行动,就应该迅速有力地实施,坐等机...

武汉新时标文化传媒有限公司:抖音小店知识学

武汉新时标文化传媒有限公司:抖音小店知识学

在抖音现在的功能非常的多,而且大家有流量有粉丝,基本上都是可以变现的,在抖音,大家应该都有知道抖音小店的知识学堂,很多小伙伴们也去看过,抖音小店知识学堂怎么返回抖音? 一、如何运营? 随着抖音的商业流量越来越多,慢慢的抖音也开始商业化起来,抖音小店的出现就是为了帮助抖音流量商业化的一个工...

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

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