浅谈Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系
在使用 Spring Boot、MyBatis 和 MyBatis-Plus 时,确保它们的依赖版本兼容是项目正常运行的关键。版本不兼容可能会导致诸如 sqlSessionFactory
、sqlSessionTemplate
未正确配置等错误。因此,合理选择各个依赖的版本尤为重要。以下是 Spring Boot 各个版本与 MyBatis 和 MyBatis-Plus 的版本对应关系总结。
1. Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系表
Spring Boot 版本 | MyBatis 版本 | MyBatis-Plus 版本 | MyBatis-Plus Starter 版本 |
---|---|---|---|
2.7.x | 2.2.x | 3.4.x | 3.4.x |
3.0.x | 3.5.x | 3.5.x | 3.5.x |
3.1.x | 3.5.x | 3.5.x | 3.5.x |
3.2.x | 3.5.x | 3.5.x | 3.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依赖版本对应内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- 5分钟快速搭建SpringBoot3 + MyBatis-Plus工程/项目的实现示例
- 解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题
- Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)
- Spring Boot 集成 MyBatis 全面讲解(最新推荐)
- Spring Boot 中使用 Mybatis Plus的操作方法
- SpringBoot同时集成Mybatis和Mybatis-plus框架
- Springboot使用MybatisPlus实现mysql乐观锁
- Spring Boot Mybatis++ 2025详解
相关文章
Java与WebUploader相结合实现文件上传功能(实例代码)
这篇文章主要介绍了Java结合WebUploader实现文件上传功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下2017-03-03java.lang.NullPointerException出现的几种原因及解决方案
这篇文章主要介绍了java.lang.NullPointerException出现的几种原因及解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-05-05spring中@ControllerAdvice 注解的使用
@ControllerAdvice注解是Spring3.2中新增的注解,主要用于Controller的全局配置,本文就来介绍一下spring中@ControllerAdvice 注解的使用,感兴趣的可以了解一下2024-09-09
最新评论