1. 程式人生 > 程式設計 >mybatisplus解除分頁限制的實現

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解除分頁限制內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!