SpingBoot 两种方式配置多数据源

news2024/11/27 2:44:04

第一种:使用与MyBaits-Plus师出同门的“dynamic-datasource-spring-boot-starter”

官网地址:

基础必读(免费) · dynamic-datasource · 看云

1:引入依赖

<!-- 苞米豆多数据源 -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>

2:配置文件

# 多数据源使用 @DS 可以注解在方法上和类上,同时存在方法注解优先于类上注解。建议注解在serviceImpl类或mapper接口方法上。
# 不写 @DS 注解,默认使用DB1
spring:
  datasource:
    dynamic:
      #启用动态数据源,默认true
      enabled: true
      #设置默认的数据源或者数据源组,默认值即为master
      primary: DB1
      #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      #是否优雅关闭数据源,默认为false,设置为true时,关闭数据源时如果数据源中还存在活跃连接,至多等待10s后强制关闭
      grace-destroy: false
      datasource:
        DB1:
          url: jdbc:mysql://127.0.0.1:3306/数据库?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=true
          username: 用户名
          password: 密码
          driver-class-name: com.mysql.cj.jdbc.Driver
        DB2:
          url: jdbc:mysql://127.0.0.1:3306/数据库?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=true
          username: 用户名
          password: 密码
          driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.zaxxer.hikari.HikariDataSource
    hikari:
      #      最小空闲链接数
      minimumIdle: 5
      #      最大链接数
      maximumPoolSize: 50
      #      最大生命周期
      maxLifetime: 180000
      #      最长闲置时间
      idleTimeout: 60000
      #      等待连接池的最大毫秒数
      connectionTimeout: 20000
      # 是否自动提交
      auto-commit: true
      # 连接池名称
      pool-name: HikariCP
      # 用于测试连接是否可用的查询语句
      connection-test-query: SELECT 1

3:启动IDEA

自动就装配了主从

4:使用方法

在方法或者类上面使用“@DS”注解

第二种:

SpringBoot+Hikari多数据源配置_hikaridatasource-CSDN博客

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

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

相关文章

DID测试套件

DID测试套件 介绍 名称 DID Test Suite 网址 https://github.com/w3c/did-test-suite 功能 用于验证DID实现是否符合W3C DID Core规范的一系列测试反映各DID方法&#xff08;如did:orb、did:key、did:web等&#xff09;的实现对DID Core规范的遵从程度确保不同DID方法、…

揭示 Vue 3 setup 函数的奥秘

setup 是 Vue 3 的新特性&#xff0c;也是组合式 API&#xff08;Composition API&#xff09;的核心。它提供了一种全新的方式设计组件的逻辑&#xff0c;便于复用同时也增加代码可读性。 1. 理解 setup 1、组合式 API 的入口 setup 是在组件实例创建之前执行的&#xff0c…

Windows单机安装配置mongodb+hadoop+spark+pyspark用于大数据分析

目录 版本选择安装配置Java环境配置Hadoop配置Spark配置 安装pyspark使用Jupyter Notebook进行Spark MongoDB测试参考 版本选择 根据Spark Connector&#xff1a;org.mongodb.spark:mongo-spark-connector_2.13:10.3.0 的前提要求 这里选择使用最新的MongoDB 7.0.12社区版 ht…

Qt-frameGeometry介绍使用(12)

描述 这个和上一篇讲的geometry很像&#xff0c;但是又有点不一样&#xff0c;而且还挺容易出问题的&#xff0c;所以这里要专门提一下&#xff0c;首先我们要明白Window frame窗口坐标是有点区别的&#xff0c;如图就像这样的&#xff0c;左上角是有两个需要注意的位置&#…

百元蓝牙耳机买哪一款的好?四款年度平价好用耳机推荐!

蓝牙耳机大家都再熟悉不过了&#xff0c;作为现代人最常用的智能配件之一&#xff0c;谁还没有用过蓝牙耳机呢&#xff0c;但是现在蓝牙耳机的牌子真的是遍地开花&#xff0c;让人眼花缭乱的&#xff0c;这让大众选择起来却更加麻烦了&#xff0c;每个牌子的蓝牙耳机都有各自的…

西门子触摸屏维修KTP400 6AV2123-2DB03-0AX0

西门子KTP400面板触摸屏维修&#xff1a;DP协议 PN协议两款。DP SIMATIC HMI&#xff0c;KTP400 Basic DP&#xff0c; 精简面板&#xff0c; 按键式/触摸式操作&#xff0c; 12" TFT 显示屏&#xff0c;65536 颜色&#xff0c; PROFIBUS 接口&#xff0c; 可用项目组态的…

TL431的稳压原理和用法,仿真验证

概述 TL431是三端可调节并联稳压器&#xff0c;可以通过两个外部电阻器将输出电压设置为介于VREF&#xff08;约为2.5V&#xff09;和36V之间的任意值。其输出阻抗典型值均为0.2欧姆&#xff0c;此类器件的有源输出电路具有非常明显的导通特性&#xff0c;因此非常适合用于替代…

基于vue框架的包装加工工业自动化管理系统05880(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;仓管员,维修员,产品信息,产品入库,产品出库,机器信息,机器维修 开题报告内容 基于Vue框架的包装加工工业自动化管理系统开题报告 一、引言 随着工业4.0时代的到来&#xff0c;包装加工行业正经历着前所未有的变革。传统的手工与半自动…

聊聊sessionStorag,以及什么情况下能够共享/复制sessionStroage

之前对sessionStorage的了解很表面&#xff0c;粗略的理解为在各标签页/窗口下独立&#xff0c;生命周期和标签页/窗口关联&#xff0c;标签页/窗口未关闭就存在&#xff08;除人为清除或者调用相关api删除&#xff09;。但是这种粗略的理解对于下面的场景似乎就有点不明确了。…

【SQL】直属部门

目录 题目 分析 代码 题目 表&#xff1a;Employee ------------------------ | Column Name | Type | ------------------------ | employee_id | int | | department_id | int | | primary_flag | varchar | ------------------------ 这张表的主键为 e…

【pyside6】添加应用图标

文章目录 什么是应用图标指定图标样式 什么是应用图标 这个图标就是应用图标&#xff1a; 默认图标是这样&#xff1a; 指定图标样式 app.setWindowIcon(QIcon("logo.png"))

深信服超融合平台Windows虚拟机磁盘在线扩容

深信服超融合版本&#xff1a; 该版本支持磁盘在线扩容&#xff0c;虚拟机无需重启&#xff0c;不影响业务。 本次扩容是为现有磁盘扩容&#xff0c;如果是新增磁盘也是一样的步骤&#xff0c;单独添加一块磁盘即可。 1、点击需要进行扩容的虚拟机名称 2、在控制台可以看到当…

Android经典实战之简化 Android 相机开发:CameraX 库的全面解析

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 CameraX 是 Android Jetpack 的一个组件库&#xff0c;旨在简化 Android 相机应用的开发。它提供了一系列易于使用的 API&#xff0c;支持从 An…

别怕!PMP考试难度全解析,助你一次过!

首先我得说&#xff0c;PMP考试&#xff0c;它难&#xff0c;也不是那么难。为啥这么说呢&#xff1f; 你看&#xff0c;PMP考试难&#xff0c;难在哪儿&#xff1f;就难在它那知识面太广了&#xff0c;就像个杂货铺&#xff0c;啥都得懂点儿。项目管理啊&#xff0c;得懂管理&…

【Hot100】LeetCode—543. 二叉树的直径

目录 1- 思路深搜——dfs 2- 实现⭐543. 二叉树的直径——题解思路 3- ACM 实现 原题连接&#xff1a;543. 二叉树的直径 1- 思路 深搜——dfs 递归三部曲 1- 递归参数和返回值 返回 public int depth(TreeNode root) 2- 终止条件 如果遇到 null&#xff0c;则返回 0 3- 递…

2024Go语言面试宝典Golang零基础实战项目面试八股力扣算法笔记等

2024最新Golang面试八股文&#xff0c;以及各种零基础全套实战项目&#xff0c;经典力扣算法题以及常见的面试题型&#xff0c;大厂面试题。go语言面试必备。包括GO基础类、GO并发编程、GO RUNTIME、微服务、容器技术、Redis、MySQL、Linux、缓存、网络和操作系统、消息队列、分…

USB3.2 摘录(六)

系列文章目录 USB3.2 摘录&#xff08;一&#xff09; USB3.2 摘录&#xff08;二&#xff09; USB3.2 摘录&#xff08;三&#xff09; USB3.2 摘录&#xff08;四&#xff09; USB3.2 摘录&#xff08;五&#xff09; USB3.2 摘录&#xff08;六&#xff09; 文章目录 系列文…

如何在VMwareWorkstation上安装的ESXi系统扩容存储

在做ESXi的相关实验的时候&#xff0c;需要扩容ESXi的存储&#xff0c;那么如何进行操作呢&#xff1f; 扩容VMwareWorkstation上虚拟机的存储 首先我们需要先扩容虚拟机上的存储&#xff08;可不关闭虚拟机&#xff09;按照图下所示&#xff0c;右键虚拟机&#xff0c;点击设…

PCL-基于RANSAC的平面拟合方法

基于RANSAC的平面拟合方法 一、简介二、实验代码三、实验结果 一、简介 随机采样一致性&#xff08;Random sample consensus&#xff0c;RANSAC&#xff09;&#xff1a;RANSAC是一种鲁棒的模型拟合方法&#xff0c;它可以处理存在大量噪声和异常值的数据。在进行平面拟合时&…

Qt QTableWidgetItem.setFlags()

查看 Qt 官方地址 Qt Namespace | Qt Core 5.15.14 得到如下说明 默认值是 63&#xff0c;即如下表达式的值&#xff08;位运算&#xff09;&#xff0c;表示可选择&#xff08;1&#xff09;、可编辑&#xff08;2&#xff09;、可拖拽&#xff08;4&#xff09;、可放入&…