多数据源配置 CannotFindDataSourceException: dynamic-datasource can not find primary datasource........
问题描述:
今天启动一个新SpringBoot项目的时候,没有具体的内容,只是把项目建成还没有进行具体的开发,就做了简单服务端口的配置,但是在项目跑起来的时候,出现下图的问题:
日志出现错误显示,动态数据源找不到主数据源 这个问题一下子就搞蒙了,什么时候出现多数据源的配置问题。
具体分析:
出现上述的问题是因为MyBatis-Plus的多数据源功能上存在错误,但是我这里是新的项目,都没有这样的需求。
经过分析,发现原来是这个新的SpringBoot项目的pom.xml文件中依赖了其他项目模块,而且该项目模块依赖了如下:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${version}</version>
</dependency>
因为引入了这个依赖,项目就要配置主数据源和从数据源,现在找到了问题的所在。。。
解决步骤:
- 如果是没有多源数据库的需求的话,直接把 dynamic-datasource-spring-boot-starter 这个依赖删掉就行。
- 如果是有多数据源的需求的话,就在项目的 application.yml 文件中配置多数据源信息:
server:
port: 40001
spring:
datasource:
druid:
stat-view-servlet:
enabled: true
dynamic:
# 配置全局druid参数,请按需配置
druid:
initial-size: 5
max-active: 8
min-idle: 3
max-wait: 1000
validation-query: 'select 1'
datasource:
master:
username: root
password: aaabbb
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
slave_1:
username: root
password: aaabbb
url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
上面的配置信息主要是把主数据源 master 和从数据源 slave_1 的信息配置上去。
配置完之后再启动项目,上述的问题就没有出现了。
如果想了解使用MyBatis-Plus的多数据源使用的话,可以访问下面的链接:MyBatis-Plus多数据源(😁😁😁该链接是MyBatis-Plus的官方教程文档)
这篇文章只是记录我出现的问题,仅个人理解。。😝😝
版权声明:程序员胖胖胖虎阿 发表于 2022年10月29日 上午10:16。
转载请注明:多数据源配置 CannotFindDataSourceException: dynamic-datasource can not find primary datasource........ | 胖虎的工具箱-编程导航
转载请注明:多数据源配置 CannotFindDataSourceException: dynamic-datasource can not find primary datasource........ | 胖虎的工具箱-编程导航
相关文章
暂无评论...