SpringBoot3.x与MyBatis-Plus兼容问题小结
问题场景
Spring Boot 3.2+ 版本使用 MyBatis-Plus 时,出现 Invalid value type 等类型不匹配/依赖冲突报错,核心原因是 MyBatis-Plus 旧版本与 Spring Boot 3.x 不兼容。
解决方案(两种方案二选一)
方案一:直接使用 Spring Boot 3 专属 Starter(推荐)
直接替换为 MyBatis-Plus 官方适配 Spring Boot 3 的依赖包,无需额外排除依赖。
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version> <!-- 或更新的兼容版本 -->
</dependency>✅ 优点:配置简单、官方适配、无额外冲突风险
✅ 适用:新项目或可直接升级 MyBatis-Plus 版本的场景
方案二:手动排除旧依赖 + 引入兼容版本
若暂时无法升级 MyBatis-Plus 版本,可手动排除旧版 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>✅ 优点:无需升级 MyBatis-Plus 主版本,仅替换底层依赖
✅ 适用:旧项目升级 Spring Boot 3 但 MyBatis-Plus 版本不便变动的场景
操作步骤
修改 pom.xml:按上述方案替换/调整 MyBatis-Plus 依赖配置
清理并重新构建:
mvn clean compile -U
(-U 强制更新依赖,避免本地缓存问题)
重启项目:启动 Spring Boot 应用,验证报错是否消失
IDEA 同步:在 IDEA 中点击「Reload All Maven Projects」刷新依赖
注意事项
- 版本对齐:确保 mybatis-plus-spring-boot3-starter 或 mybatis-spring 版本与当前 Spring Boot 3.x 版本兼容
- 避免重复依赖:不要同时引入 mybatis-plus-boot-starter 和 mybatis-plus-spring-boot3-starter
- 缓存清理:若依赖下载失败,删除本地 Maven 仓库中对应包目录后重试
- 测试验证:修改后需完整测试数据库操作,确保 MyBatis-Plus 功能正常
核心结论
Spring Boot 3.x 必须使用 适配 Spring Boot 3 的 MyBatis-Plus 依赖:
- 优先选择
mybatis-plus-spring-boot3-starter(官方原生适配) - 无法升级时,手动排除旧版
mybatis-spring并引入 3.0.3+ 兼容版本
到此这篇关于SpringBoot3.x与MyBatis-Plus兼容问题小结的文章就介绍到这了,更多相关SpringBoot3.x MyBatis-Plus兼容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringCloud Feign多参数传递及需要注意的问题
这篇文章主要介绍了SpringCloud Feign多参数传递及需要注意的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
Java NIO.2 使用Path接口来监听文件、文件夹变化
Java7对NIO进行了大的改进,新增了许多功能,接下来通过本文给大家介绍Java NIO.2 使用Path接口来监听文件、文件夹变化 ,需要的朋友可以参考下2019-05-05


最新评论