Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

项目场景:

最近因为公司业务需要在搭一个新架构,用的springboot3和jdk17,在整合mybatis多数据源的时候报错

(引用的mybatisplus 和 mybatisplusjion的是最新的包-2023-08-26)

Error creating bean with name 'XXXServiceImpl': Unsatisfied dependency expressed through field 'baseMapper': Error creating bean with name 'XXXMapper' defined in file [XXXXMapper.class]: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required


问题描述

各模块引入的相关jar包

java 复制代码
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
                <version>4.1.3</version>
            </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-annotation</artifactId>
             <version>3.5.3.2</version>
        </dependency>
        <dependency>
             <groupId>org.postgresql</groupId>
             <artifactId>postgresql</artifactId>
             <version>42.3.3</version>
        </dependency>        
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-extension</artifactId>
             <version>3.5.3.2</version>
        </dependency>            
        <dependency>
            <groupId>com.github.yulichang</groupId>
            <artifactId>mybatis-plus-join-boot-starter</artifactId>
            <type>pom</type>
            <version>1.4.6</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.2</version>
        </dependency>

1、首先我想到的是不是mapper和service没有扫描到(网上基本都是说这个原因)

结果:不是这个原因

2.是不是版本冲突导致自动注入数据源失败

下载依赖冲突扫描工具对各个模块进行扫描



结果:不是这个原因

3.这时候我想到了是不是我都引入的多数据源jar包有问题--dynamic

放弃了这个想法 之前的项目都是用的这个jar包

4.开始各种百度

https://blog.csdn.net/ZHENFENGSHISAN/article/details/128010240

上问说是mybatis-spring-boot-starter的版本问题 我已经引入了mybatisplus最新版本 所有不是这个问题

有文说启动类问题

https://blog.csdn.net/hsuehgw/article/details/129090720

我尝试了下 不行

因为我是多数据源 又有文章说 把启动类 调整为 @SpringBootApplication 在yml去排除

继续尝试不行

**5.到这里我完全肯定就是jar包问题

sqlSessionFactory为空,我的mybatisplus相关jar包没问题 都是工具官方文档来的 很大可能是dynamic的包

之前没有怀疑是因为直接从其他项目负cv来的

那就开始排查这jar包和jdk版本和springboot版本有没有冲突

java 复制代码
     <dependency>
          <groupId>com.baomidou</groupId>
          <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
          <version>4.1.3</version>
    </dependency>

dynamic文档

https://www.kancloud.cn/tracy5546/dynamic-datasource/2264611

额 dynamic-datasource 官方 直接把 springboot3 依赖的jar包给变了
调整依赖解决

相关推荐
云栖梦泽15 分钟前
鸿蒙应用AI赋能与国际化落地实战:让待办应用跨越语言与智能边界
开发语言·鸿蒙系统
CoderCodingNo36 分钟前
【GESP】C++五级真题(结构体排序考点) luogu-B3968 [GESP202403 五级] 成绩排序
开发语言·c++·算法
想做后端的小C1 小时前
Java:接口回调
java·开发语言·接口回调
爱学习的小可爱卢1 小时前
JavaEE进阶——Spring核心设计模式深度剖析
java·spring·设计模式
毕设源码-钟学长2 小时前
【开题答辩全过程】以 个性化电影推荐网站的设计与实现为例,包含答辩的问题和答案
java·spring boot
C++业余爱好者2 小时前
Power Job 快速搭建 及通信机制介绍
java
麒qiqi2 小时前
理解 Linux IO 多路复用
开发语言·数据库
MediaTea2 小时前
Python:模块 __dict__ 详解
开发语言·前端·数据库·python
qq_2704900962 小时前
SpringBoot药品管理系统设计实现
java·spring boot·后端
、BeYourself3 小时前
SpringAI-ChatClient Fluent API 详解
java·后端·springai