SpringBoot3.x與MyBatis-Plus兼容問(wèn)題小結(jié)
問(wèn)題場(chǎng)景
Spring Boot 3.2+ 版本使用 MyBatis-Plus 時(shí),出現(xiàn) Invalid value type 等類型不匹配/依賴沖突報(bào)錯(cuò),核心原因是 MyBatis-Plus 舊版本與 Spring Boot 3.x 不兼容。
解決方案(兩種方案二選一)
方案一:直接使用 Spring Boot 3 專屬 Starter(推薦)
直接替換為 MyBatis-Plus 官方適配 Spring Boot 3 的依賴包,無(wú)需額外排除依賴。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version> <!-- 或更新的兼容版本 -->
</dependency>? 優(yōu)點(diǎn):配置簡(jiǎn)單、官方適配、無(wú)額外沖突風(fēng)險(xiǎn)
? 適用:新項(xiàng)目或可直接升級(jí) MyBatis-Plus 版本的場(chǎng)景
方案二:手動(dòng)排除舊依賴 + 引入兼容版本
若暫時(shí)無(wú)法升級(jí) MyBatis-Plus 版本,可手動(dòng)排除舊版 mybatis-spring,并引入兼容 Spring Boot 3 的版本。
<!-- 原有 mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.4.1</version>
<!-- 排除舊版 mybatis-spring -->
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入兼容 Spring Boot 3 的 mybatis-spring 版本 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>3.0.3</version> <!-- 或更高兼容版本 -->
</dependency>? 優(yōu)點(diǎn):無(wú)需升級(jí) MyBatis-Plus 主版本,僅替換底層依賴
? 適用:舊項(xiàng)目升級(jí) Spring Boot 3 但 MyBatis-Plus 版本不便變動(dòng)的場(chǎng)景
操作步驟
修改 pom.xml:按上述方案替換/調(diào)整 MyBatis-Plus 依賴配置
清理并重新構(gòu)建:
mvn clean compile -U
(-U 強(qiáng)制更新依賴,避免本地緩存問(wèn)題)
重啟項(xiàng)目:?jiǎn)?dòng) Spring Boot 應(yīng)用,驗(yàn)證報(bào)錯(cuò)是否消失
IDEA 同步:在 IDEA 中點(diǎn)擊「Reload All Maven Projects」刷新依賴
注意事項(xiàng)
- 版本對(duì)齊:確保 mybatis-plus-spring-boot3-starter 或 mybatis-spring 版本與當(dāng)前 Spring Boot 3.x 版本兼容
- 避免重復(fù)依賴:不要同時(shí)引入 mybatis-plus-boot-starter 和 mybatis-plus-spring-boot3-starter
- 緩存清理:若依賴下載失敗,刪除本地 Maven 倉(cāng)庫(kù)中對(duì)應(yīng)包目錄后重試
- 測(cè)試驗(yàn)證:修改后需完整測(cè)試數(shù)據(jù)庫(kù)操作,確保 MyBatis-Plus 功能正常
核心結(jié)論
Spring Boot 3.x 必須使用 適配 Spring Boot 3 的 MyBatis-Plus 依賴:
- 優(yōu)先選擇
mybatis-plus-spring-boot3-starter(官方原生適配) - 無(wú)法升級(jí)時(shí),手動(dòng)排除舊版
mybatis-spring并引入 3.0.3+ 兼容版本
到此這篇關(guān)于SpringBoot3.x與MyBatis-Plus兼容問(wèn)題小結(jié)的文章就介紹到這了,更多相關(guān)SpringBoot3.x MyBatis-Plus兼容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于創(chuàng)建Web項(xiàng)目運(yùn)行時(shí)出錯(cuò)的解決方法(必看篇)
下面小編就為大家?guī)?lái)一篇基于創(chuàng)建Web項(xiàng)目運(yùn)行時(shí)出錯(cuò)的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
Java AbstractMethodError案例分析詳解
這篇文章主要介紹了Java AbstractMethodError案例分析詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
Java 8 對(duì) HashSet 元素進(jìn)行排序的操作方法
Java 中HashSet是一個(gè)不保證元素順序的集合類,其內(nèi)部是基于 HashMap 實(shí)現(xiàn)的,HashSet不支持排序,我們?cè)谛枰獙?duì)HashSet 排序時(shí),必須將其轉(zhuǎn)換為支持排序的集合或數(shù)據(jù)結(jié)構(gòu),如 List,本文將詳細(xì)介紹在 Java 8 中如何對(duì) HashSet 中的元素進(jìn)行排序,感興趣的朋友一起看看吧2024-11-11
Java實(shí)現(xiàn)常用加密算法——單向加密算法MD5和SHA
本篇文章主要介紹了Java實(shí)現(xiàn)常用加密算法——單向加密算法MD5和SHA,信息加密后數(shù)據(jù)更安全,需要的朋友可以參考下。2016-10-10
Mybatis模糊查詢之三種定義參數(shù)方法和聚合查詢、主鍵回填實(shí)現(xiàn)方法
這篇文章主要介紹了Mybatis模糊查詢之三種定義參數(shù)方法和聚合查詢、主鍵回填實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
spring聲明式事務(wù)@Transactional開(kāi)發(fā)常犯的幾個(gè)錯(cuò)誤及最新解決方案
使用聲明式事務(wù)@Transactional進(jìn)行事務(wù)一致性的管理,在開(kāi)發(fā)過(guò)程中,發(fā)現(xiàn)很多開(kāi)發(fā)同學(xué)都用錯(cuò)了spring聲明式事務(wù)@Transactional或使用不規(guī)范,導(dǎo)致出現(xiàn)各種事務(wù)問(wèn)題,這篇文章主要介紹了spring聲明式事務(wù)@Transactional開(kāi)發(fā)常犯的幾個(gè)錯(cuò)誤及解決辦法,需要的朋友可以參考下2024-02-02
Java Swing JProgressBar進(jìn)度條的實(shí)現(xiàn)示例
這篇文章主要介紹了Java Swing JProgressBar進(jìn)度條的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
springboot 使用logback啟動(dòng)報(bào)警報(bào)錯(cuò)的解決
這篇文章主要介紹了springboot 使用logback啟動(dòng)報(bào)警報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

