詳解MybatisPlus3.4版本之后分頁插件的使用
一、MybatisPlusInterceptor
從Mybatis Plus 3.4.0版本開始,不再使用舊版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。
MybatisPlusInterceptor是一系列的實現(xiàn)InnerInterceptor的攔截器鏈,也可以理解為一個集合。可以包括如下的一些攔截器
- 自動分頁: PaginationInnerInterceptor(最常用)
- 多租戶: TenantLineInnerInterceptor
- 動態(tài)表名: DynamicTableNameInnerInterceptor
- 樂觀鎖: OptimisticLockerInnerInterceptor
- sql性能規(guī)范: IllegalSQLInnerInterceptor
- 防止全表更新與刪除: BlockAttackInnerInterceptor
二、舊版分頁插件配置方法(Mybatis Plus 3.4.0版本之前)
@Configuration @MapperScan(basePackages = {"com.zimug.**.mapper"}) public class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor() { PaginationInterceptor paginationInterceptor = new PaginationInterceptor(); // 設(shè)置請求的頁面大于最大頁后操作, true調(diào)回到首頁,false 繼續(xù)請求 默認false // paginationInterceptor.setOverflow(false); // 設(shè)置最大單頁限制數(shù)量,默認 500 條,-1 不受限制 // paginationInterceptor.setLimit(500); // 開啟 count 的 join 優(yōu)化,只針對部分 left join paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); return paginationInterceptor; } }
三、新的分頁插件配置方法(Mybatis Plus 3.4.0版本及其之后的版本)
新的分頁插件,一緩和二緩遵循mybatis的規(guī)則,需要設(shè)置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現(xiàn)問題
@Configuration @MapperScan(basePackages = {"com.zimug.**.mapper"}) public class MybatisPlusConfig { /** * 新的分頁插件,一緩和二緩遵循mybatis的規(guī)則,需要設(shè)置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現(xiàn)問題(該屬性會在舊插件移除后一同移除) */ @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條數(shù)據(jù) //將分頁參數(shù)page作為Mybatis或Mybatis Plus的第一個參數(shù)傳入持久層函數(shù),即可完成分頁查詢 return mySystemMapper.selectUser(page, 其他參數(shù) );
本文轉(zhuǎn)載出處:字母哥博客
到此這篇關(guān)于詳解MybatisPlus3.4版本之后分頁插件的使用的文章就介紹到這了,更多相關(guān)MybatisPlus3.4 分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java設(shè)計模式之解釋器模式(Interpreter模式)介紹
這篇文章主要介紹了Java設(shè)計模式之解釋器模式(Interpreter模式)介紹,Interpreter定義:定義語言的文法,并且建立一個解釋器來解釋該語言中的句子,需要的朋友可以參考下2015-03-03Netty中的DelimiterBasedFrameDecoder使用方法詳解
這篇文章主要介紹了Netty中的DelimiterBasedFrameDecoder使用方法詳解,DelimiterBasedFrameDecoder與LineBasedFrameDecoder類似,只不過更加通用,允許我們指定任意特殊字符作為分隔符,我們還可以同時指定多個分隔符,需要的朋友可以參考下2023-12-12SpringBoot整合Spring?Data?JPA的詳細方法
JPA全稱為Java Persistence API(Java持久層API),是一個基于ORM的標(biāo)準(zhǔn)規(guī)范,在這個規(guī)范中,JPA只定義標(biāo)準(zhǔn)規(guī)則,不提供實現(xiàn),本文重點給大家介紹SpringBoot整合Spring?Data?JPA的相關(guān)知識,感興趣的朋友一起看看吧2022-02-02SpringData @Query和@Modifying注解原理解析
這篇文章主要介紹了SpringData @Query和@Modifying注解原理解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08Java ArrayList中存放引用數(shù)據(jù)類型的方式
這篇文章主要介紹了Java ArrayList中存放引用數(shù)據(jù)類型的方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot實現(xiàn)redis延遲隊列的示例代碼
延時隊列場景在我們?nèi)粘I(yè)務(wù)開發(fā)中經(jīng)常遇到,它是一種特殊類型的消息隊列,本文就來介紹一下SpringBoot實現(xiàn)redis延遲隊列的示例代碼,具有一定的參考價值,感興趣的可以了解一下2024-02-02Java基礎(chǔ)之線程鎖相關(guān)知識總結(jié)
今天給大家?guī)淼氖顷P(guān)于Java線程的相關(guān)知識,文章圍繞著Java線程鎖展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下2021-06-06