詳解MybatisPlus3.4版本之后分頁(yè)插件的使用
一、MybatisPlusInterceptor
從Mybatis Plus 3.4.0版本開始,不再使用舊版本的PaginationInterceptor ,而是使用MybatisPlusInterceptor。
MybatisPlusInterceptor是一系列的實(shí)現(xiàn)InnerInterceptor的攔截器鏈,也可以理解為一個(gè)集合。可以包括如下的一些攔截器
- 自動(dòng)分頁(yè): PaginationInnerInterceptor(最常用)
- 多租戶: TenantLineInnerInterceptor
- 動(dòng)態(tài)表名: DynamicTableNameInnerInterceptor
- 樂(lè)觀鎖: OptimisticLockerInnerInterceptor
- sql性能規(guī)范: IllegalSQLInnerInterceptor
- 防止全表更新與刪除: BlockAttackInnerInterceptor
二、舊版分頁(yè)插件配置方法(Mybatis Plus 3.4.0版本之前)
@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// 設(shè)置請(qǐng)求的頁(yè)面大于最大頁(yè)后操作, true調(diào)回到首頁(yè),false 繼續(xù)請(qǐng)求 默認(rèn)false
// paginationInterceptor.setOverflow(false);
// 設(shè)置最大單頁(yè)限制數(shù)量,默認(rèn) 500 條,-1 不受限制
// paginationInterceptor.setLimit(500);
// 開啟 count 的 join 優(yōu)化,只針對(duì)部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor;
}
}
三、新的分頁(yè)插件配置方法(Mybatis Plus 3.4.0版本及其之后的版本)
新的分頁(yè)插件,一緩和二緩遵循mybatis的規(guī)則,需要設(shè)置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現(xiàn)問(wèn)題
@Configuration
@MapperScan(basePackages = {"com.zimug.**.mapper"})
public class MybatisPlusConfig {
/**
* 新的分頁(yè)插件,一緩和二緩遵循mybatis的規(guī)則,需要設(shè)置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現(xiàn)問(wèn)題(該屬性會(huì)在舊插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
//向Mybatis過(guò)濾器鏈中添加分頁(yè)攔截器
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
//還可以添加i他的攔截器
return interceptor;
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> configuration.setUseDeprecatedExecutor(false);
}
}
四、分頁(yè)查詢的使用方法
分頁(yè)查詢的使用方法沒(méi)有變化,仍然和Mybatis之前的版本一致,沒(méi)有變化。 這里簡(jiǎn)單舉一個(gè)例子
Page<SysUserOrg> page = new Page<> (pageNum,pageSize); //查詢第pageNum頁(yè),每頁(yè)pageSize條數(shù)據(jù) //將分頁(yè)參數(shù)page作為Mybatis或Mybatis Plus的第一個(gè)參數(shù)傳入持久層函數(shù),即可完成分頁(yè)查詢 return mySystemMapper.selectUser(page, 其他參數(shù) );
本文轉(zhuǎn)載出處:字母哥博客
到此這篇關(guān)于詳解MybatisPlus3.4版本之后分頁(yè)插件的使用的文章就介紹到這了,更多相關(guān)MybatisPlus3.4 分頁(yè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot中使用mybatisplus自帶插件實(shí)現(xiàn)分頁(yè)的示例代碼
- 完美解決MybatisPlus插件分頁(yè)查詢不起作用總是查詢?nèi)繑?shù)據(jù)問(wèn)題
- 詳解MyBatisPlus如何實(shí)現(xiàn)分頁(yè)和查詢操作
- MybatisPlus分頁(yè)排序查詢字段帶有下劃線的坑及解決
- mybatisplus解除分頁(yè)限制的實(shí)現(xiàn)
- MyBatisPlus分頁(yè)時(shí)排序的實(shí)現(xiàn)
- MybatisPlus實(shí)現(xiàn)分頁(yè)查詢和動(dòng)態(tài)SQL查詢的示例代碼
- MyBatis-Plus 分頁(yè)插件使用示例
相關(guān)文章
Spring Aop之AspectJ注解配置實(shí)現(xiàn)日志管理的方法
下面小編就為大家分享一篇Spring Aop之AspectJ注解配置實(shí)現(xiàn)日志管理的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
SpringBoot之spring.factories的使用方式
這篇文章主要介紹了SpringBoot之spring.factories的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
volatile與happens-before的關(guān)系與內(nèi)存一致性錯(cuò)誤
本文講了Java并發(fā)編程中volatile變量、happens-before與內(nèi)存一致性錯(cuò)誤,下面來(lái)和小編一起學(xué)習(xí)下如何解決2019-05-05
Java客戶端通過(guò)HTTPS連接到Easysearch實(shí)現(xiàn)過(guò)程
這篇文章主要為大家介紹了Java客戶端通過(guò)HTTPS連接到Easysearch實(shí)現(xiàn)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11

