Mybatis-plus 3.4版本 分页插件配置 设置单次查询最大记录数及突破最大限制查询

Mybatis-plus 3.4版本 分页插件配置 设置单次查询最大记录数及突破最大限制查询

Mybatis-plus 3.3及之前版本的分页插件和突破查询记录数最大限制的方法已在上一篇文章中介绍,链接地址:https://blog.csdn.net/donotshow/article/details/116272977。最近更新了mybatis-plus的版本到3.4.2,发现插件拦截器发生了很大变化,之前的分页拦截器已被弃用,单次查询最大记录数的限制方式也被修改,这边自己记录下版本之间的差别。

之前版本的拦截器被弃用:
!](https://img-blog.csdnimg.cn/20210521100525969.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Rvbm90c2hvdw==,size_16,color_FFFFFF,t_70)
现在所有的插件都需要放入Interceptor的实现类MybatisPlusInterceptor中:

@Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInterceptor = new PaginationInnerInterceptor();
        paginationInterceptor.setMaxLimit(500L);//设置默认单次查询最大记录数
        paginationInterceptor.setDbType(DbType.MYSQL);//设置数据库类型
        paginationInterceptor.setOverflow(false);//设置超过总页数后是否返回最后一页数据
        mybatisPlusInterceptor.addInnerInterceptor(paginationInterceptor);//将插件放入MybatisPlusInterceptor中才能生效
        return mybatisPlusInterceptor;
    }

以上是Mybatis-plus3.4之后的插件配置方式。

同时3.4版本之后想要突破查询最大记录数的限制也更加方便,只需要在Page信息中设置maxLimit的值就可了:

      Page<WorkQueryListResp> page = new Page<>(pageNum, 1000);
      page.setMaxLimit(1000L);

可以在源码中查看到maxLimit的作用,默认使用Page信息中的maxLimit的值来作为size:

/**
     * 处理超出分页条数限制,默认归为限制数
     *
     * @param page IPage
     */
    protected void handlerLimit(IPage<?> page) {
        final long size = page.getSize();
        Long pageMaxLimit = page.maxLimit();
        Long limit = pageMaxLimit != null ? pageMaxLimit : maxLimit;
        if (limit != null && limit > 0 && size > limit) {
            page.setSize(limit);
        }
    }

以上,记录下升级Mybatis-plus版本之后遇到的一些问题,后续有新的差别会陆续更新。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值