文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

报错解决 dynamic-datasource can not find primary datasource

2023-09-24 06:43

关注

报错详情

使用mybatis-plus多数据源时,启动报找不到主数据源

com.baomidou.dynamic.datasource.exception.CannotFindDataSourceException: dynamic-datasource can not find primary datasourceat com.baomidou.dynamic.datasource.DynamicRoutingDataSource.determinePrimaryDataSource(DynamicRoutingDataSource.java:91) ~[dynamic-datasource-spring-boot-starter-3.5.1.jar:3.5.1]at com.baomidou.dynamic.datasource.DynamicRoutingDataSource.getDataSource(DynamicRoutingDataSource.java:120) ~[dynamic-datasource-spring-boot-starter-3.5.1.jar:3.5.1]at com.baomidou.dynamic.datasource.DynamicRoutingDataSource.determineDataSource(DynamicRoutingDataSource.java:78) ~[dynamic-datasource-spring-boot-starter-3.5.1.jar:3.5.1]at com.baomidou.dynamic.datasource.ds.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:48) ~[dynamic-datasource-spring-boot-starter-3.5.1.jar:3.5.1]......

解决办法

① 引入了多数据源的依赖,但是没有使用多数据源

    com.baomidou    dynamic-datasource-spring-boot-starter    3.5.1    com.baomidou    dynamic-datasource-spring-boot-starter    ${version}

多数据源使用:使用 @DS 切换数据源。

@DS 可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。

注解结果
没有@DS默认数据源
@DS("databaseName")databaseName可以为组名也可以为具体某个库的名称

② 使用了多数据源但是没有指定主数据源

spring:  datasource:    dynamic:      primary: master #设置默认的数据源或者数据源组,默认值即为master      strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源      datasource:        master:          url: jdbc:mysql://xx.xx.xx.xx:3306/dynamic          username: root          password: 123456          driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置        slave_1:          url: jdbc:mysql://xx.xx.xx.xx:3307/dynamic          username: root          password: 123456          driver-class-name: com.mysql.jdbc.Driver        slave_2:          url: ENC(xxxxx) # 内置加密,使用请查看详细文档          username: ENC(xxxxx)          password: ENC(xxxxx)          driver-class-name: com.mysql.jdbc.Driver       #......省略       #以上会配置一个默认库master,一个组slave下有两个子库slave_1,slave_2

③ 好好检查一下配置里面有没有对齐(我就是!太粗心大意了!)!!!!

# 正确格式spring:  datasource:    dynamic:      strict: false      primary: one      datasource:        one:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://localhost:3306/demo?allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false          username: root          password: 123456        two:          driver-class-name: com.mysql.cj.jdbc.Driver          url: jdbc:mysql://localhost:3306/demo1?allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false          username: root          password: 123456

小白也要努力成长起来!欢迎大家指点和讨论! 

来源地址:https://blog.csdn.net/ljj19990804/article/details/125970276

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯