mybatis-plus异常:dynamic-datasource can not find primary datasource

news2024/10/5 3:30:55

现象

使用mybatis-plus多数据源配置时出现异常

com.baomidou.dynamic.datasource.exception.CannotFindDataSourceException:
dynamic-datasource can not find primary datasource

分析

异常原因是没有设置默认数据源,在类上没有使用@DS指定数据源时,默认会加载master数据源,但是在配置中没有使用master配置,类似下面的用法,

@Component
public class ErmDaoImpl implements ErmDao {
	@Autowired
	private JdbcTemplate jdbcTemplate;
	
	@Override
	@DS("lizzDB")
	public List select(String sql) {
		jdbcTemplate.List list = jdbcTemplate.queryForList(sql);
		return list;
	}
}
spring:
  application:
    name: lizz-server
  datasource:
    dynamic:
      primary: master #设置默认的数据源或者数据源组,默认值即为master
      strict: true #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      datasource:
        lizzDB:
          url: xxxxx
          username: xxx
          password: xxx

解决方案

方案一

在类上增加@DS指定默认数据源

@DS("lizzDB")
public class ErmDaoImpl implements ErmDao {
...
 
}

方案二

增加master数据源

spring:
  application:
    name: lizz-server
  datasource:
    dynamic:
      primary: master #设置默认的数据源或者数据源组,默认值即为master
      strict: true #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      datasource:
        master:  #增加默认数据源
          url: xxxxx
          username: xxx
          password: xxx
        lizzDB:
          url: xxxxx
          username: xxx
          password: xxx

方案三

maven的配置文件,是否加载你需要的配置信息,如果不是,也可能无法解析出主数据源。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1034990.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

批量、在线学习, 参数、非参数学习

批量学习(Batch Learning)和在线学习(Online Learning) 批量学习 批量学习的概念非常容易理解,我们之前介绍的许多机器学习算法,如果没有特殊说明,都可以采用批量学习的方式。批量学习的过程通…

网络安全——(黑客)自学

想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客!!! 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队…

react多条件查询

1、声明一个filter常量 2.filter接受(condition,data)两个参数 3、调用data里面的filter进行筛选 4、任意一个item当筛选条件 5、使用object.key获取对象所有key 6、对每个key使用Array.prototype.every()方法判断是否满足条…

pom.xml中解决“vulnerable dependency maven:org.yaml:snakeyaml:1.33“警告问题

问题 当我们引入依赖的时候,pom文件会有这样的提示,其大概的意思就是 maven:org.yaml:snakeyaml:1.30"表示通过Maven引入了一个潜在的安全漏洞依赖项"org.yaml:snakeyaml:1.30" 解决办法 其实我们就是要更改这个依赖的版本&#xff0c…

Linux高性能服务器编程 学习笔记 第七章 Linux服务器程序规范

除了网络通信外,服务器程序通常还需考虑许多其他细节问题,这些细节问题涉及广而零碎,且基本上是模板式的,我们称之为服务器程序规范,如: 1.Linux服务器程序一般以后台进程形式运行,后台进程又称…

AI智能文案写作工具,迅速生成高质量的文案

大家好,欢迎来到这篇文章。在信息时代,文字的力量愈发重要,无论是用于广告、文章还是社交媒体,优质的文案都能够吸引更多的注意力。但是,对于许多人来说,创作文案可能是一项繁琐且耗时的任务。 147GPT批量文…

黑马JVM总结(二十三)

(1)字节码指令-init 方法体内有一些字节,对应着将来要由java虚拟机执行方法内的代码,构造方法里5个字节代码,main方法里有9个字节的代码 java虚拟机呢内部有一个解释器,这个解释器呢可以识别平台无关的字…

【算法】滑动窗口破解长度最小子数组

Problem: 209. 长度最小的子数组 文章目录 题意分析算法原理讲解暴力枚举O(N^2)利用单调性,滑动窗口求解 复杂度Code 题意分析 首先来分析一下本题的题目意思 题目中会给到一个数组,我们的目的是找出在这个数组中 长度最小的【连续】子数组,而…

Android滑动片段

本文所有的代码均存于 https://github.com/MADMAX110/BitsandPizzas 回到BitsandPizzas应用,之前已经创建过创建订单和发出反馈等功能。 修改披萨应用,让它使用标签页导航。在工具条下显示一组标签页,每个选项对应一个不同的标签页。用户单击…

asrpro 天问BLOCK 总结

ASRPRO芯片信息 主频240MHz 640KByte SRAM 2-4M FLASH (https://haohaodada.com/jpeguploadfile/twen/ASRPRO/asr_pro_core.pdf) 下载 (注意最好用好点的USB转TTL或是网方的下载器,否则会怀疑人生) 下载程序步骤 安装VSCODE 在字符模式下&a…

微服务架构设计:构建高可用性和弹性的应用

文章目录 引言微服务架构的基本概念1. 服务单元2. 通信机制3. 自动化部署4. 增量升级5. 监控和日志 设计原则1. 单一职责原则2. 松散耦合3. 有界上下文4. 弹性设计5. API 设计 优势和挑战优势挑战 实际案例:Netflix结论 🎉欢迎来到架构设计专栏~探索Java…

2020年06月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python编程(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 下面程序执行完毕后,最终的结果是?( ) a[34,17,7,48,10,5] b[] c[] while …

Aqs独占/共享模式

独占锁和共享锁的概念 独占锁也叫排他锁,是指该锁一次只能被一个线程所持有。如果线程T对数据A加上排他锁后,则其他线程不能再对A加任何类型的锁。获得排它锁的线程即能读数据又能修改数据。 共享锁是指该锁可被多个线程所持有。如果线程T对数据A加上共…

039_小驰私房菜_Camera perfermance debug

全网最具价值的Android Camera开发学习系列资料~ 作者:8年Android Camera开发,从Camera app一直做到Hal和驱动~ 欢迎订阅,相信能扩展你的知识面,提升个人能力~ 一、抓取trace 1. adb shell "echo vendor.debug.trace.perf=1 >> /system/build.prop" 2. …

栈和队列-Java

目录 一、栈 1.1 概念 1.2 栈的使用 1.3 栈的模拟实现 1.4 栈的应用场景 1.5 概念区分 二、队列 2.1 概念 2.2 队列的使用 2.3 队列的模拟实现 2.4 循环队列 三、双端队列 四、面试题 一、栈 1.1 概念 栈:一种特殊的线性表,只允许在固定的一端进行插…

Docker部署ActiveMQ消息中间件

1、准备工作 docker pull webcenter/activemq:5.14.3 Pwd"/data/software/activemq" mkdir ${Pwd}/data -p2、运行容器 docker run -d --name activemq \-p 61616:61616 \-p 8161:8161 \-v ${Pwd}/data:/opt/activemq/data \-v /etc/localtime:/etc/localtime \--r…

【完全二叉树魔法:顺序结构实现堆的奇象】

本章重点 二叉树的顺序结构堆的概念及结构堆的实现堆的调整算法堆的创建堆排序TOP-K问题 1.二叉树的顺序结构 普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构…

JavaScript系列从入门到精通系列第六篇:JavaScript中其他进制数字以及其他的数据类型强制转换为Boolean数据类型

文章目录 一:各种进制数字 1:表示十进制 2:表示16进制 3:表示8进制 4:表示二进制数字 二:其他进制字符穿转数字 三:其他数据类型强制转换为Boolean 1:Number转Boolean 2&am…

【3dmax】怎么将点删除而面保留

在编辑多边形模式下,选择点模式,选择要删除的点,在下拉面板中找到【移除】

eNSP基础网络学习-v02

一、eNSP 1.什么是eNSP eNSP(Enterprise Network Simulation Platform)是一款由华为提供的免费的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机进行软件仿真,完美呈现真实设备实景,支持大型网络模拟,让…