首页 > 编程语言 > mybatisplus解除分页限制的实现
2020
12-02

mybatisplus解除分页限制的实现

前言

如果你的mybatisplus的分页受到限制,例如每次只能查询500条或者1000条,不用担心,马上解除限制吧。

解决方案

在MybatisPlusConfig中配置paginationInterceptor.setLimit(-1); 代表分页不受任何限制,当然如果对系统性能有限制,建议选择一个合理值,例如1w等。

package com.softdev.system.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@EnableTransactionManagement
@Configuration
@MapperScan("com.softdev.system.mapper")
public class MybatisPlusConfig {
  /**
   * 分页插件
   */
   @Bean
   public PaginationInterceptor paginationInterceptor() {
     PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
     // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
     // paginationInterceptor.setOverflow(false);
     // 设置最大单页限制数量,默认 500 条,-1 不受限制
     paginationInterceptor.setLimit(-1);
     // 开启 count 的 join 优化,只针对部分 left join
     paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
     return paginationInterceptor;
   }
}

PaginationInnerInterceptor属性

属性名 类型 默认值 描述
overflow boolean false 溢出总页数后是否进行处理(默认不处理,参见 插件#continuePage 方法)
maxLimit Long 单页分页条数限制(默认无限制,参见 插件#handlerLimit 方法)
dbType DbType 数据库类型(根据类型获取应使用的分页方言,参见 插件#findIDialect 方法)
dialect IDialect 方言实现类(参见 插件#findIDialect 方法)

到此这篇关于mybatisplus解除分页限制的实现的文章就介绍到这了,更多相关mybatisplus解除分页限制内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!

编程技巧