配置多数据源

springboot之多数据源配置 应用直接操作的是abstractRoutingDataSource的实现类,告诉AbstractRoutingDataSource访问哪个数据库,然后由AbstractRoutingDataSource从事先配置好的数据源 (ds1,ds2)选择哪一个 ,来访问对应的数据库。 阅读详情

前言

         单数数据源的时代一去不复返,多数据源应用越来越广泛,配置各种连接执行器方便
    在不同的情况下进行使用,下面就原生的 jdbcTemplate 进行注入和配置

代码

采用Springboot Bean注入的模式

package XXXXXX;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.jdbc.core.JdbcTemplate;

/**
 * @Author Windwardbird
 * @time 2020/9/27 14:23
 * @describeOfFunction:  注入原生的JdbcTemplate
 */
@Configuration
public class PrimitiveDataSourceConfig {


     @Primary()
     @Bean(name = "primaryDataSource")
    @Qualifier("primaryDataSource")
    @ConfigurationProperties("spring.datasource.druid.mycat")
    public DruidDataSource primaryDataSource() {
        return DruidDataSourceBuilder.create().build();
    }

 
    @Bean(name = "secondaryDataSource")
    @Qualifier("secondaryDataSource")
    @ConfigurationProperties("spring.datasource.druid.mysql")
    public DruidDataSource secondaryDataSource() {
        return DruidDataSourceBuilder.create().build();
    }


    @Bean(name = "thirdDataSource")
    @Qualifier("thirdDataSource")
    @ConfigurationProperties("spring.datasource.druid.Oracle")
    public DruidDataSource  thirdDataSource() {
        return DruidDataSourceBuilder.create().build();
    }
   
    @Bean(name = "primaryJdbcTemplate")
    public JdbcTemplate primaryTemplate(@Qualifier("primaryDataSource") DruidDataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean(name = "secondaryJdbcTemplate")
    public JdbcTemplate secondaryTemplate(@Qualifier("secondaryDataSource") DruidDataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

    @Bean(name = "thirdJdbcTemplate")
    public JdbcTemplate secondaryTemplate(@Qualifier(""thirdDataSource") DruidDataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }


}

项目使用
@Resource(name ="primaryJdbcTemplate")
private  JdbcTemplate  mycatJdbcTemplate 

@Resource(name ="secondaryJdbcTemplate")
private  JdbcTemplate  mysqlJdbcTemplate 

@Resource(name ="thirdJdbcTemplate")
private  JdbcTemplate  oracleJdbcTemplate 


Weaxor勒索病毒实战分析:从加密算法到防御策略(附检测工具清单) 本文对Weaxor勒索病毒进行了深度实战剖析,详细拆解了其采用ChaCha20与AES-CTR的混合加密算法、横向移动手法及数据回传行为。文章重点分析了其密钥生成机制的“漏洞修复”,并提供了从主机加固、网络监控到基于IOC威胁狩猎的立体化企业级防御策略与检测工具清单。 阅读详情

相关推荐

UQLab——其他概率分布随机变量转换标准Gaussian分布

1、使用UQLab将其他类型的随机变量转换成标准Gaussian分布; 2、使用科学计数法输出样本,方便后续ANSYS的调用分析; 3、基于MC的可靠度分析。 原随机变量分布类型: % 调用UQLab进行采样 clc clear uqlab %% Specify these distributions as a UQLab INPUT object: PriorOpts.Marginals(1...

ikhui7的博客 3014

Spring 多数据源配置详解

稍复杂点的项目,由于各种原因可能会使用到多个数据库实例,这些数据库可能属于不同的业务模块,可能用于分库分表,也可能用于读写分离。 使用多个数据库的情况下需要为每个数据库配置一个数据源,这本身并没有什么技术难度,重点在于如何在使用多数据源的情况下还能加入 Spring 的事务管理,这篇文章会详细介绍各种持久化技术如何在 Spring 中达到这个目标。......

大鹏的博客 7471

Livox MID360与Fast-LIO2的实战部署指南:从驱动安装到点云处理

本文提供Livox MID360激光雷达与Fast-LIO2激光惯性里程计从零开始的实战部署指南。详细介绍了Ubuntu系统下的驱动安装、网络配置、点云数据验证以及Fast-LIO2算法的编译、参数配置与联合启动流程,帮助开发者快速搭建移动机器人SLAM系统,并包含关键参数调优与常见故障排查方法。

java5的博客 1025

spring 项目 配置多数据源(已上生产,亲测有效)

🌸 修改配置文件,添加数据源配置 🌸 修改application.yaml spring: datasource: type: com.alibaba.druid.pool.DruidDataSource druid: db1: enable: true driver-class-name: com.mysql.cj.jdbc.Driver max-active: 100 min-idle: 100

Chen_chenjiasheng的博客 4061

【Python&RS】Rasterio库安装+基础函数使用教程

Rasterio是一个Python库,专门用于栅格数据的读写操作。它支持多种栅格数据格式,如GeoTIFF、ENVI和HDF5,为处理和分析栅格数据提供了强大的工具。RasterIO适用于各种栅格数据应用,如卫星遥感、地图制作等。这篇文章跟大家介绍一下Rasterio库的安装以及一些基本函数的使用教程,附带源码。

Remote Sensing迷途小书童 1万+

手把手教你用OpenCalib完成激光雷达与相机联合标定:从数据准备到结果可视化

本文详细介绍了使用OpenCalib工具链中的lidar2camera模块完成激光雷达与相机联合标定的全流程,包括数据准备、标定命令执行、结果验证与可视化。通过实战指南,帮助读者掌握工业级标定技术,提升自动驾驶和机器人领域的传感器融合精度。

weixin_30872499的博客 400

SpringBoot多数据源配置

文章目录1 SpringBoot分库配置1.1 准备数据1.2 springboot+mybatis使用分包方式整合1.2.1 pom.xml1.2.2 application.yml 配置文件1.2.3 连接数据源配置文件1.2.3.1 连接源配置一1.2.3.2 连接源配置二1.2.4 项目结构1.3 springboot+druid+mybatisplus使用注解整合1.3.1 pom.xml1.3.2 application.yml 配置文件1.3.3 使用@DS区分数据源1.4 读写分离库1.4.

上善若泪 3万+

Android14到Android16源码移植中的Bluetooth模块规范适配指南

本文详细解析了从Android14到Android16源码移植过程中Bluetooth模块的规范适配挑战,重点介绍了Android.bp配置差异及常见编译报错解决方案。针对代码规范检查、final字段声明、静态方法优化等核心问题提供实用修复方法,帮助开发者高效完成版本升级适配工作。

fire9的博客 254

【Spring实战】02 配置多数据源

本文将介绍如何使用 Spring 实现多数据源,通过一个简单的 Spring 多数据源的配置和使用示例。实际项目中,你可能需要根据具体需求进行更复杂的配置和逻辑。希望这个示例能够帮助你理解如何在 Spring 应用程序中使用多个数据源。

好久不见的流星 1752

Qt应用软件【协议篇】自定义协议处理串口半包贴包

Qt串口数据,半包,贴包,丢包数据处理

小鱼酱的博客 1214

C++软件异常分析概述

本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法,给大家提供一个借鉴与参考。

dvlinker的技术专栏 4万+

SpringBoot多数据源配置详解

动态数据源上下文// 使用ThreadLocal保证线程安全// 数据源列表动态数据源配置/*** 创建动态数据源 Bean,并将其设置为主要的数据源 Bean// 用于存储目标数据源的映射,键为数据源标识,值为数据源实例 Map < Object , Object > targetDataSources = new HashMap < >();

墨鸦的博客 1万+

NX二次开发新建组件

NXOpen新建组件

qq_39541524的博客 330

MyBatis的多数据源配置

1.背景介绍 MyBatis是一款非常流行的Java数据访问框架,它可以简化数据库操作,提高开发效率。在实际项目中,我们经常需要处理多个数据源,例如分离读写数据源、分离业务数据源和监控数据源等。因此,了解MyBatis的多数据源配置是非常重要的。 在本文中,我们将深入探讨MyBatis的多数据源配置,包括核心概念、核心算法原理、具体操作步骤、数学模型公式、代码实例以及未来发展趋势与挑战。 2...

AI天才研究院 2315

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

若依框架配置多数据源

若依框架配置多数据源 1.在yml文件中添加数据源 2.在DataSourceType中添加从库 3.配置多数据源信息 4.在service实现层添加注解调用数据源

孜 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

多数据源配置JdbcTemplate

二八佳人体似酥,腰间仗剑斩愚夫。虽然不见人头落,暗里教君上一章简单介绍了SpringBoot整合MyBatisPlus(十四),如果没有看过,​​请观看上一章​​工作中,在业务的发展或业务数据隔离的场景下,通常需要一个项目中引入多个数据源,但SpringBoot默认的自动化配置是单数据源的,可以通过一些额外的配置,进行处理。

weixin_36873225的博客 1824

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

spring jdbctemplate配置多数据源

spring jdbctemplate配置多数据源        其实现在使用spring jdbctemplate与数据库交互已经有点low了,现在主流都是mybatis,但是遇到了就分享一下吧,spring jdbctemplate是怎么配置多数据源于调用的呢?         一、所搭建的项目为maven工程,pom.xml如下 <project xmlns="http://maven

诗雨远方的博客 1万+

Spring Boot 实现多数据源配置

在application.properties或application.yml中配置多个数据源的连接信息。在 Spring Boot 中实现多数据源配置通常用于需要连接多个数据库的场景。首先,在pom.xml中添加MyBatis、数据库驱动和Spring Boot的JDBC依赖。在Spring Boot中,通过@Configuration类来配置多个数据源的Bean。将Mapper接口和XML文件分别放在不同的包中,以区分不同的数据源。主数据源Mapper XML文件。次数据源Mapper XML文件。

qq_33807380的博客 5831

SpringBoot实现多数据源配置

SpringBoot实现多数据源配置

一恍过去 3万+

Springboot多数据源配置

对于SpringMVC,多数据源是通过aop去实现。Springboot也大同小异。 1.配置依赖 除了常规的springboot依赖之外,再加上aop,数据连接池等依赖。 <properties> <java.version>1.8</java.version> <swagger.version>2.9.2</swagger.version> <pagehelper.boot.version>1.2.5</pa.

Shi_Liz的博客 4187

Spring Boot多数据源配置之JdbcTemplate

多数据源配置也算是一个常见的开发需求,Spring和SpringBoot中,对此都有相应的解决方案,不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件MyCat去解决相关问题,之前有小伙伴在我的知识星球上提问,他的数据根据条件的不同,可能保存在四十多个不同的数据库中,怎么办?这种场景下使用多数据源其实就有些费事了,我给的建议是使用MyCat,然后分表策略使用sharding-by...

江南一点雨的专栏 1万+

多数据源配置

目录 一、前言 二、配置示例 2.1默认配置的目录如下 2.2 多数据源配置 三、程序示例 3.1 配置数据源 3.2 配置数据库管理 一、前言 配置文件满足Spring jpa默认配置的情况下,Spring jpa会根据配置自动生成数据库相关bean。此时test-on-borrow默认为true。当要在程序实现多数据源配置时,必须打破默认的数据库配置,所以必须要自己创建...

bxw1992的博客 377

SpringBoot配置多数据源

SpringBoot配置多数据源总结 1.为何配置多数据源? 首先,当一个系统需要集成多个项目的时候,配置多数据源是不可避免的,比如在一个系统中,需要有主从库的配置(主库负责增删改,从库负责查询),或者当你的系统/服务需要对接多个系统,存入多个不同的表的时候,就需要配置多数据源。 P.S 也可以在服务中调用RPC通信去调用别的服务的方法去调用多数据源,但是这样有以下几个弊端: (1)不同服务会有不同的git分支,当大家合作开发时,分支不同,而你的代码要去别人的服务里做修改,这样会导致一些版本和代码的冲突,不

qq_43540133的博客 1729

集成框架 - 多数据源配置

由于现在基本都是以springBoot配置,所以我这边就按照springBoot配置多数据源,主要还是设计在分布式场景下,能用到的场景,其实也可以通过两边的服务调用,或者hsf,dubbo,以及grpc,或者springCloud相关openFign 或者说fign其实都可以进行两边软件的传输,也可以通过mq,比如说rabbitMQ这种轻量化mq进行传输,但是如果说一些记录方面的,或者A服务需要更高的权限,进行对B服务应用所对应的数据库,或者本地的副本数据库,做一些处理的时候,就要用到多数据源的情况,其实还

寿春 882

怎么配置多数据源

多数据源是什么? 数据源就是数据库表的上一级,它的作用是 就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。 配置多数据源就是,已经有了一个数据源a-master,再配置一个同类:a-master1 为什么要设置多数据源? 随着业务的发展,可能需要分库分表,在分库分表中,肯定得需要多数据源。 怎么操作? 1、在配置文件application.properties中配置新数据源的链接 2、找到项目中的DaoConfiguration,复制一份,在同

玫瑰与鹿° 3860
上一篇: Idea关闭自动更新
下一篇: Poi导入导出百万Excel java
WindwardBird
博客等级 码龄7年 19粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值