问题场景
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兼容内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论