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

现象

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

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

分析

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

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

解决方案

方案一

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

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

方案二

增加master数据源

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

方案三

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【WSL】仅适用于装C盘情况-用WSL在win10安装LInux

研究了一点点伪分布式的内容。决定搞一个Linux系统玩一下 参考来自微软官方安装步骤: 旧版 WSL 的手动安装步骤 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual WSL全称为,Windows Subsystem for Linux 法一:应用商店装 查…

pytest框架前后置设置,以及pytest默认规则

一、pytest框架的默认规则 1、模块名默认必须以test开头或者以test结尾 2、测试类必须以Test开头,并且不能有__init__方法 3、测试方法默认必须以test开头 当然以后的一些默认规则除测试类不能使用__init__方法外其余的都是可配置的,当然一般情况下我们…

uni-app 实现自定义按 A~Z 排序的通讯录(字母索引导航)

创建 convertPinyin.js 文件 convertPinyin.js 将下面的内容复制粘贴到其中 const pinyin (function() {let Pinyin function(ops) {this.initialize(ops);},options {checkPolyphone: false,charcase: "default"};Pinyin.fn Pinyin.prototype {init: functi…

2023年9月23日(星期六)骑行哈马者

2023年9月23日 (星期六):骑行哈马者,早8:30到9:00, 穿金路和沣源路口集合,9:30准时出发 【因迟到者,骑行速度快者,可自行追赶偶遇。】 偶遇地点: 穿金路和沣源路口集合,家住西,南&…

MySQL数据库入门到精通2--基础篇(函数,约束,多表查询,事务)

3. 函数 函数 是指一段可以直接被另一段程序调用的程序或代码。MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。 3.1 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 演示如下: A. con…

图像复原与重建,解决噪声的几种空间域复原方法(数字图像处理概念 P4)

文章目录 图像复原模型噪声模型只存在噪声的空间域复原 图像复原模型 噪声模型 只存在噪声的空间域复原

IDEA2023新UI回退老UI

idea2023年发布了新UI,如下所示 但是用起来真心不好用,各种位置也是错乱,用下面方法可以回退老UI

【轨道机器人】成功驱动伺服电机(学生电源、DCH调试软件、DH系列伺服驱动器)

1、硬件平台 工控机 学生电源 DH系列伺服驱动器 电机 调试平台:DCH 2、如何利用dch驱动电机 点击可驱动电机 下面的步骤是比较关键的几步: 3、遇到的问题 不能成功驱动电机,还和厂家那边打电话,询问 发现是这…

Webpack监视文件修改,自动重新打包文件

方法一:使用watch监视文件变化 在终端中输入以下指令: npx webpack --watch 我们使用这种方法监听文件变化时只会监听我们计算机本地的文件变化,在开发场景中我们的项目是要部署到服务器中的,因此这种方式并不推荐。 方法二&…

Vue3 封装 element-plus 图标选择器

一、实现效果 二、实现步骤 2.1. 全局注册 icon 组件 // main.ts import App from ./App.vue; import { createApp } from vue; import * as ElementPlusIconsVue from element-plus/icons-vueconst app createApp(App);// 全局挂载和注册 element-plus 的所有 icon app.con…

IP 协议

IP协议格式 四位版本号 用来表示IP协议的版本,现有的IP协议只有两个版本,IPv4,IPv6,其他版本只在实验室中存在,没有大规模商用 四位首部长度 设定和TCP一样,IP报头是可变长的,IP报头又是带有选项(可以有,可以没有)的,这里的单位也是4个字节,也就是最大有16*464个字节的长度 …

Linux0.11——第三回 做好访问内存的最基础准备工作

前面两回是把启动区的代码复制来复制去的,这里我们要讨论的就是操作系统怎么为程序访问内存的方式做初步规划的? 操作系统的代码最开头的 512 字节的数据,先从硬盘的启动区移动到了内存 0x7c00 处,然后又立刻被移动到 0x90000 处…