浅谈Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系

 更新时间:2024年11月27日 12:02:04   作者:陈小唬  
本文主要介绍了SpringBoot、MyBatis和MyBatis-Plus的依赖版本对应关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在使用 Spring Boot、MyBatis 和 MyBatis-Plus 时,确保它们的依赖版本兼容是项目正常运行的关键。版本不兼容可能会导致诸如 sqlSessionFactorysqlSessionTemplate 未正确配置等错误。因此,合理选择各个依赖的版本尤为重要。以下是 Spring Boot 各个版本与 MyBatis 和 MyBatis-Plus 的版本对应关系总结。

1. Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系表

Spring Boot 版本MyBatis 版本MyBatis-Plus 版本MyBatis-Plus Starter 版本
2.7.x2.2.x3.4.x3.4.x
3.0.x3.5.x3.5.x3.5.x
3.1.x3.5.x3.5.x3.5.x
3.2.x3.5.x3.5.x3.5.x

2. 依赖选择说明

  • MyBatis 版本
    • Spring Boot 2.x 版本推荐使用 MyBatis 2.x 系列。
    • 从 Spring Boot 3.x 开始,推荐使用 MyBatis 3.5.x 系列。它是 MyBatis 当前最稳定的版本,支持最新的 Java 17 特性以及 Spring Boot 3.x API。
  • MyBatis-Plus 版本
    • MyBatis-Plus 3.4.x 适用于 Spring Boot 2.x 系列。
    • MyBatis-Plus 3.5.x 是与 Spring Boot 3.x 系列兼容的最佳选择。此版本优化了对 Java 17 和 Spring Boot 3.x 的支持,同时提高了性能和扩展能力。
  • MyBatis-Plus Starter 版本
    • mybatis-plus-boot-starter 是 MyBatis-Plus 提供的整合 Starter,它包括了 MyBatis-Plus 所需的核心依赖和配置,可以简化项目配置过程。与 Spring Boot 2.x 使用 3.4.x 版本,与 Spring Boot 3.x 则使用 3.5.x 版本。

3. 版本选择注意事项

  • 兼容性问题: 如果在项目中遇到 sqlSessionFactory 或 sqlSessionTemplate 配置错误,最常见的问题是 MyBatis 或 MyBatis-Plus 的版本与 Spring Boot 版本不兼容。务必确保三者的版本处于同一兼容范围内。
  • Spring Boot 3.x 的变化: Spring Boot 3.x 与之前的版本有较大改动,特别是在模块化系统、Java 17 支持等方面。使用 MyBatis 和 MyBatis-Plus 的时候,一定要选择 3.5.x 版本,以便与 Spring Boot 3.x 更好地配合。

4. 依赖示例(Spring Boot 3.1.x + MyBatis 3.5.x + MyBatis-Plus 3.5.x)

<dependencies>

    <!-- Spring Boot Web Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- PostgreSQL 驱动 -->
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>42.6.2</version>
    </dependency>

    <!-- MyBatis Plus Starter -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3.1</version>
    </dependency>

    <!-- Lombok -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <scope>provided</scope>
    </dependency>

</dependencies>

5. 常见问题及解决方案

  • 错误提示:Property ‘sqlSessionFactory’ or ‘sqlSessionTemplate’ are required: 这种报错通常是由于 MyBatis-Plus 和 Spring Boot 的版本不兼容造成的。解决方案是检查并升级 MyBatis-Plus 到与 Spring Boot 版本匹配的版本。
  • 版本冲突: 如果项目中有其他依赖版本冲突,确保所有依赖库使用的是兼容的版本,特别是在使用 mybatis-plus-boot-starter 时,MyBatis 和 MyBatis-Plus 的版本必须匹配。

6. 总结

在整合 Spring Boot、MyBatis 和 MyBatis-Plus 时:

  • 确保所使用的 Spring Boot、MyBatis、MyBatis-Plus 和其 Starter 的版本是相互兼容的。
  • 对于 Spring Boot 3.x,建议选择 MyBatis 3.5.x 和 MyBatis-Plus 3.5.x,并确保所有依赖库版本一致。
  • 如果遇到错误,首先检查版本是否匹配,再排查具体配置问题。

通过合理选择依赖版本和 Starter,可以有效避免常见的配置错误和兼容性问题。

到此这篇关于浅谈Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系的文章就介绍到这了,更多相关Spring Boot MyBatis MyBatis-Plus依赖版本对应内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring注解@Value及属性加载配置文件方式

    Spring注解@Value及属性加载配置文件方式

    这篇文章主要介绍了Spring注解@Value及属性加载配置文件方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java并发之Phaser的全面解析详解

    Java并发之Phaser的全面解析详解

    Phaser是Java中一个灵活的同步工具,其优点在于支持多阶段的任务拆分与同步,并且能够动态地注册与注销参与者,下面我们就来深入了解一下Phaser的应用吧
    2024-02-02
  • 浅谈springboot的三种启动方式

    浅谈springboot的三种启动方式

    这篇文章主要介绍了浅谈springboot的三种启动方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Java与WebUploader相结合实现文件上传功能(实例代码)

    Java与WebUploader相结合实现文件上传功能(实例代码)

    这篇文章主要介绍了Java结合WebUploader实现文件上传功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • Java毕业设计实战之仿小米电子产品售卖商城系统的实现

    Java毕业设计实战之仿小米电子产品售卖商城系统的实现

    这是一个使用了java+SpringBoot+Vue+MySQL+Redis+ElementUI开发的仿小米商城系统,是一个毕业设计的实战练习,具有小米商城该有的所有基础功能,感兴趣的朋友快来看看吧
    2022-01-01
  • 深入理解可视化JVM 故障处理工具

    深入理解可视化JVM 故障处理工具

    这篇文章主要介绍了深入理解可视化JVM 故障处理工具,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • elasticsearch聚合查询实践示例

    elasticsearch聚合查询实践示例

    这篇文章主要为大家介绍了elasticsearch聚合查询实践示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Java编程—在测试中考虑多态

    Java编程—在测试中考虑多态

    这篇文章主要介绍了Java编程—在测试中考虑多态,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • java.lang.NullPointerException出现的几种原因及解决方案

    java.lang.NullPointerException出现的几种原因及解决方案

    这篇文章主要介绍了java.lang.NullPointerException出现的几种原因及解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • spring中@ControllerAdvice 注解的使用

    spring中@ControllerAdvice 注解的使用

    @ControllerAdvice注解是Spring3.2中新增的注解,主要用于Controller的全局配置,本文就来介绍一下spring中@ControllerAdvice 注解的使用,感兴趣的可以了解一下
    2024-09-09

最新评论