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

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

Mybatis-plus 3.3及之前版本的分页插件和突破查询记录数最大限制的方法已在上一篇文章中介绍,链接地址:https://blog.Mybatis-plus 3.4版本 分页插件配置 设置单次查询最大记录数及突破最大限制查询
现在所有的插件都需要放入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<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版本之后遇到的一些问题,后续有新的差别会陆续更新。