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包给变了
调整依赖解决

相关推荐
周杰偷奶茶4 分钟前
【Java】数组的定义和使用(附管理系统实战案例)
java·开发语言
橙子圆12340 分钟前
JUC之集合类不安全
java·开发语言
阿里嘎多学长1 小时前
2026-09-29 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Bruce_Liuxiaowei1 小时前
网页版 DeepSeek “harness desktop“ WebGL 上下文创建失败排查实录
开发语言·javascript·webgl
狗凯之家源码网1 小时前
PHP 用户反馈系统源码深度评测与实战指南
开发语言·php·用户反馈系统
谢亮_vipxieliang2 小时前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
迅猛龙办公室2 小时前
实现第一个python程序(HelloWorld)
开发语言·python
源码宝2 小时前
Web‑PACS 云影像源码|Java+Vue3 医院影像管理系统完整方案
java·源码·影像pacs·成品源码·医院影像系统
phltxy2 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui
可乐鸡翅yeah_2 小时前
M3U8 防盗链 URL‑Token 签名,新手开发实操避坑
开发语言·javascript·ios·音视频·safari