SpringBoot3.x与MyBatis-Plus兼容问题小结

 更新时间:2026年04月02日 10:20:20   作者:博傅  
SpringBoot3.2+版本使用MyBatis-Plus时,出现等类型不匹配/依赖冲突报错,下面就来详细的介绍一下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兼容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于创建Web项目运行时出错的解决方法(必看篇)

    基于创建Web项目运行时出错的解决方法(必看篇)

    下面小编就为大家带来一篇基于创建Web项目运行时出错的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java AbstractMethodError案例分析详解

    Java AbstractMethodError案例分析详解

    这篇文章主要介绍了Java AbstractMethodError案例分析详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 阅读EnumSet抽象类源码

    阅读EnumSet抽象类源码

    这篇文章主要介绍了阅读EnumSet抽象类源码,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • Java 8 对 HashSet 元素进行排序的操作方法

    Java 8 对 HashSet 元素进行排序的操作方法

    Java 中HashSet是一个不保证元素顺序的集合类,其内部是基于 HashMap 实现的,HashSet不支持排序,我们在需要对HashSet 排序时,必须将其转换为支持排序的集合或数据结构,如 List,本文将详细介绍在 Java 8 中如何对 HashSet 中的元素进行排序,感兴趣的朋友一起看看吧
    2024-11-11
  • 使用stream流多字段排序SpringBoot

    使用stream流多字段排序SpringBoot

    文章介绍了在Java8中使用stream流对对象的多个字段进行排序的方法,首先准备数据,然后演示了单个字段和多个字段的排序操作,包括升序和降序,文章最后总结了单个字段排序和多个字段排序的区别,并鼓励读者参考和分享
    2025-11-11
  • Java实现常用加密算法——单向加密算法MD5和SHA

    Java实现常用加密算法——单向加密算法MD5和SHA

    本篇文章主要介绍了Java实现常用加密算法——单向加密算法MD5和SHA,信息加密后数据更安全,需要的朋友可以参考下。
    2016-10-10
  • Mybatis模糊查询之三种定义参数方法和聚合查询、主键回填实现方法

    Mybatis模糊查询之三种定义参数方法和聚合查询、主键回填实现方法

    这篇文章主要介绍了Mybatis模糊查询之三种定义参数方法和聚合查询、主键回填实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • spring声明式事务@Transactional开发常犯的几个错误及最新解决方案

    spring声明式事务@Transactional开发常犯的几个错误及最新解决方案

    使用声明式事务@Transactional进行事务一致性的管理,在开发过程中,发现很多开发同学都用错了spring声明式事务@Transactional或使用不规范,导致出现各种事务问题,这篇文章主要介绍了spring声明式事务@Transactional开发常犯的几个错误及解决办法,需要的朋友可以参考下
    2024-02-02
  • Java Swing JProgressBar进度条的实现示例

    Java Swing JProgressBar进度条的实现示例

    这篇文章主要介绍了Java Swing JProgressBar进度条的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • springboot 使用logback启动报警报错的解决

    springboot 使用logback启动报警报错的解决

    这篇文章主要介绍了springboot 使用logback启动报警报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论