今天计划学习 PostgreSQL,并顺便尝试使用 Spring Boot 3.x 框架,打算整合 Spring Boot 3、PostgreSQL 和 MyBatis-Plus。整合后一直出现以下报错:
去AI上面搜了讲的是sqlSessionFactory
或 sqlSessionTemplate
没有正确配置
- 初始分析:由于依赖配置看起来没有问题,我一直认为是 PostgreSQL 整合出了问题,于是不断调整 PostgreSQL 的相关配置。
- 反思与新思路:折腾了很久问题都没解决,突然想到会不会是 Spring Boot 3 与 MyBatis-Plus 的依赖版本不兼容导致的问题。
- 最终解决:开始针对每个依赖版本逐一查找,最终确认是 MyBatis-Plus 版本与 Spring Boot 3 不兼容,更新了相应依赖版本后问题解决。
Spring Boot、MyBatis、MyBatis-Plus 依赖版本对应关系
报错解决方案的 POM 文件更新
在整合 Spring Boot 3、PostgreSQL 和 MyBatis-Plus 时,之前的 POM 文件配置如下:
<dependencies>
<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>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version> <!-- 之前的版本 -->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
发现报错后,将 MyBatis-Plus 版本更新为 3.5.3.1
后,问题解决:
<dependencies>
<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>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version> <!-- 更新后的版本 -->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
这样修改依赖后,问题得以解决。