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

相关推荐
深入云栈41 分钟前
Netty 4.2.x 源码深度解析 (二十三):ByteBuf 核心设计 —— 索引、类型与零拷贝
java·后端·架构
爱笑的k111 小时前
nano-vllm 源码剖析:千行 Python 手写离线推理引擎的调度、显存与并行时序
开发语言·python·vllm
wang_shu_mo_ran2 小时前
MyBatis 从入门到进阶(一)
java·spring·mybatis
X1A0RAN2 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
量化分析码农3 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端
猫猫不是喵喵.3 小时前
从0到1创建一个微服务项目
java·数据库·微服务·1024程序员节
熊猫钓鱼>_>3 小时前
普通用户视角的端侧智能体验手记【鸿蒙心迹】
开发语言·人工智能·华为·智能手机·性能优化·ai编程·harmonyos
瑞雪兆丰年兮4 小时前
JavaWeb-day13-SpringBootWeb事务管理&AOP
java·开发语言·springboot·javaweb·事务·web·aop
曲径海盗4 小时前
Try-Except怎么用,3个追问解答在自动化下的应用
java·jvm·oracle
Cosolar5 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github