MyBatis-Plus 分頁插件配置的兩種方式實(shí)現(xiàn)
在使用 MyBatis-Plus 進(jìn)行數(shù)據(jù)庫操作時(shí),分頁查詢是一個(gè)非常常見的需求。MyBatis-Plus 提供了方便的分頁插件來簡化這一過程。本文將詳細(xì)介紹如何正確配置 MyBatis-Plus 的分頁插件(包括 MybatisPlusInterceptor 和 PaginationInterceptor)。
一、pom.xml文件配置
為了使用 MyBatis-Plus 的分頁插件,你需要確保在你的 Maven 項(xiàng)目的 pom.xml 文件中正確添加了必要的依賴:(一般情況下,只添加mybatis-plus的起步依賴mybatis-plus-boot-starter就可以)
注意:將${mybatis-plus.version}替換為你的項(xiàng)目的mybatis-plus的版本號(hào),或者在pom.xml的<properties>的標(biāo)簽中統(tǒng)一管理版本信息
<!-- MyBatis-Plus Boot Starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- MyBatis-Plus Extension for PaginationInterceptor or MybatisPlusInterceptor -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>二、使用PaginationInterceptor
- 適用于 MyBatis-Plus 3.4.0 之前的版本
如果你正在使用的是 MyBatis-Plus 3.4.0 之前的版本,那么你需要使用 PaginationInterceptor,它是專門用于處理分頁邏輯的攔截器,在早期版本中,作為一個(gè)單獨(dú)的插件提供分頁功能,在Springboot框架下的應(yīng)該采用如下方式進(jìn)行配置:
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* mybatis-plus配置
*/@ConfigurationpublicclassMybatisPlusConfig {
/**
* 添加分頁插件
*/@Beanpublic PaginationInterceptor paginationInterceptor() {
returnnewPaginationInterceptor();
}
}三、使用MybatisPlusInterceptor
- 適用于 MyBatis-Plus 3.4.0 之后的版本
從 MyBatis-Plus 3.4.0 版本開始,官方推薦使用 MybatisPlusInterceptor 來替代舊版本中的 PaginationInterceptor。MybatisPlusInterceptor作為一個(gè)繼集成了多種功能功能的攔截器,支持多種插件,如分頁插件、性能分析插件等,通過調(diào)用addInnerInterceptor()方法來使該攔截器具備各種功能。以下是官方文檔中在SpringBoot框架下進(jìn)行分頁插件配置的方式
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* mybatis-plus配置
*/@ConfigurationpublicclassMybatisPlusConfig {
/**
* 添加分頁插件
*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();
// 添加分頁插件, 如果配置多個(gè)插件, 切記分頁最后添加
interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL));
// 如果有多數(shù)據(jù)源可以不配具體類型, 否則都建議配上具體的 DbTypereturn interceptor;
}四、兩種攔截器的對(duì)比
1. PaginationInterceptor:
- 主要關(guān)注于分頁功能,適用于只需要簡單的分頁邏輯的應(yīng)用場景
2. MybatisPlusInterceptor:
- 分頁插件:實(shí)現(xiàn)分頁邏輯
- 性能分析插件:幫助監(jiān)控 SQL 執(zhí)行時(shí)間。
- SQL 注入防護(hù)插件:提高應(yīng)用安全性。
- 多租戶插件:支持多租戶架構(gòu)下的數(shù)據(jù)隔離。
- 樂觀鎖插件:簡化并發(fā)控制。
五、總結(jié)及建議
如果你正在開發(fā)或維護(hù)一個(gè)基于 MyBatis-Plus 3.4.0 之前的項(xiàng)目,并且你的需求僅僅是分頁功能,那么 PaginationInterceptor 就足夠了。
對(duì)于 MyBatis-Plus 3.4.0 及之后的版本,官方推薦使用 MybatisPlusInterceptor,因?yàn)樗峁┝烁叩撵`活性和更多的內(nèi)置功能,可以根據(jù)實(shí)際需要輕松擴(kuò)展應(yīng)用的功能。
到此這篇關(guān)于MyBatis-Plus 分頁插件配置的兩種方式實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)MyBatis-Plus 分頁內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Mybatis-Plus 多表聯(lián)查分頁的實(shí)現(xiàn)代碼
- Mybatis-plus新版本分頁失效PaginationInterceptor過時(shí)的問題
- MyBatis-Plus 分頁查詢以及自定義sql分頁的實(shí)現(xiàn)
- mybatis-plus分頁傳入?yún)?shù)后sql where條件沒有l(wèi)imit分頁信息操作
- mybatis-plus分頁查詢的實(shí)現(xiàn)示例
- MyBatis-Plus分頁插件不生效的解決方法
- MyBatis-Plus實(shí)現(xiàn)2種分頁方法(QueryWrapper查詢分頁和SQL查詢分頁)
- MyBatis-Plus分頁時(shí)排序的實(shí)現(xiàn)方法
- 解決mybatis-plus3.4.1分頁插件PaginationInterceptor和防止全表更新與刪除插件SqlExplainInterceptor過時(shí)失效問題
- Mybatis-Plus中分頁插件PaginationInterceptor的使用
- 一文搞懂Mybatis-plus的分頁查詢操作
相關(guān)文章
Java Swing中的文本區(qū)(JTextArea)實(shí)現(xiàn)換行保存到文件的幾個(gè)方法
這篇文章主要介紹了Java Swing中的文本區(qū)(JTextArea)實(shí)現(xiàn)換行保存到文件的幾個(gè)方法,本文給出了4種方法,需要的朋友可以參考下2014-10-10
Java和MySQL數(shù)據(jù)庫中關(guān)于小數(shù)的保存問題詳析
在Java和MySQL中小數(shù)的精度可能會(huì)受到限制,如float類型的小數(shù)只能精確到6-7位,double類型也只能精確到15-16位,這篇文章主要給大家介紹了關(guān)于Java和MySQL數(shù)據(jù)庫中關(guān)于小數(shù)的保存問題,需要的朋友可以參考下2024-01-01
使用Spring Boot Mybatis 搞反向工程的步驟
這篇文章主要介紹了使用Spring Boot Mybatis 搞反向工程的步驟,幫助大家更好的理解和使用spring boot框架,感興趣的朋友可以了解下2021-01-01
Java實(shí)現(xiàn)Word轉(zhuǎn)PDF的全過程
在IT領(lǐng)域,文檔格式轉(zhuǎn)換是常見的任務(wù)之一,特別是在管理大量文本數(shù)據(jù)時(shí),本文將詳細(xì)探討如何利用Java技術(shù)將Word文檔(.docx)轉(zhuǎn)換成PDF格式,需要的朋友可以參考下2025-04-04
Springboot?中使用Sentinel的詳細(xì)步驟
文章介紹了如何在SpringBoot中使用Sentinel進(jìn)行限流和熔斷降級(jí),首先添加依賴,配置Sentinel控制臺(tái)地址,定義受保護(hù)的資源,配置流控規(guī)則,啟動(dòng)Sentinel控制臺(tái)和SpringBoot應(yīng)用,最后測試和監(jiān)控,感興趣的朋友一起看看吧2025-02-02
解決SpringBoot中的Scheduled單線程執(zhí)行問題
在一次SpringBoot中使用Scheduled定時(shí)任務(wù)時(shí),發(fā)現(xiàn)某一個(gè)任務(wù)出現(xiàn)執(zhí)行占用大量資源,會(huì)導(dǎo)致其他任務(wù)也執(zhí)行失敗,這篇文章主要介紹了SpringBoot中的Scheduled單線程執(zhí)行問題及解決方法,需要的朋友可以參考下2022-06-06

