在使用 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依赖版本对应内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论