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.x2.2.x3.4.x3.4.x3.0.x3.5.x3.5.x3.5.x3.1.x3.5.x3.5.x3.5.x3.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,可以有效避免常见的配置错误和兼容性问题。
版权归原作者 陈小唬 所有, 如有侵权,请联系我们删除。