spring多个数据源配置

sys.properties中的内容
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
DB.url=jdbc\:oracle\:thin\:@****\:1521\:****
DB.username=****
DB.password=****


jdbc.driverClassName2=oracle.jdbc.driver.OracleDriver
DB.url2=jdbc\:oracle\:thin\:@****\:1521\:****
DB.username2=****
DB.password2=****

Spring配置文件中添加的内容

<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<!--数据库配置文件-->
<value>WEB-INF/sys.properties</value>

</list>
</property>
</bean>
<!-- 配置数据源1  -->
<bean id="dataSource1" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${DB.url}"/>
<property name="username" value="${DB.username}"/>
<property name="password" value="${DB.password}"/>      
        <!--initialSize: 初始化连接-->  
<property name="initialSize" value="5"/>  
<!--maxIdle: 最大空闲连接-->  
<property name="maxIdle" value="3"/>  
<!--minIdle: 最小空闲连接-->  
<property name="minIdle" value="2"/>  
<!--maxActive: 最大连接数量-->  
<property name="maxActive" value="10"/>  
<!--removeAbandoned: 是否自动回收超时连接-->  
<property name="removeAbandoned" value="true"/>  
<!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->  
<property name="removeAbandonedTimeout" value="180"/>  
<!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->  
<property name="maxWait" value="3000"/>  
<property name="poolPreparedStatements" value="false"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="validationQuery" value="select * from dual"/>
</bean>   
<!-- 配置数据源2  -->
<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName2}"/>
<property name="url" value="${DB.url2}"/>
<property name="username" value="${DB.username2}"/>
<property name="password" value="${DB.password2}"/>      
        <!--initialSize: 初始化连接-->  
<property name="initialSize" value="5"/>  
<!--maxIdle: 最大空闲连接-->  
<property name="maxIdle" value="3"/>  
<!--minIdle: 最小空闲连接-->  
<property name="minIdle" value="2"/>  
<!--maxActive: 最大连接数量-->  
<property name="maxActive" value="10"/>  
<!--removeAbandoned: 是否自动回收超时连接-->  
<property name="removeAbandoned" value="true"/>  
<!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->  
<property name="removeAbandonedTimeout" value="180"/>  
<!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->  
<property name="maxWait" value="3000"/>  
<property name="poolPreparedStatements" value="false"/>
        <property name="defaultAutoCommit" value="true"/>
        <property name="validationQuery" value="select * from dual"/>
</bean>  


<!-- 事务1 -->  
    <bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource1" />  
    </bean>  
    <!-- 事务2 -->  
    <bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource2" />  
    </bean>  
      
    <!-- 事务拦截1 -->  
    <bean id="transactionInterceptor1" class="org.springframework.transaction.interceptor.TransactionInterceptor">  
        <property name="transactionManager" ref="transactionManager1" />  
        <property name="transactionAttributes">  
        <props>  
            <prop key="insert*">PROPAGATION_REQUIRED</prop>  
            <prop key="delete*">PROPAGATION_REQUIRED</prop>  
            <prop key="update*">PROPAGATION_REQUIRED</prop>  
            <prop key="do*">PROPAGATION_REQUIRED</prop>  
        </props>  
        </property>  
    </bean>  
    <!-- 事务拦截2 -->  
    <bean id="transactionInterceptor2" class="org.springframework.transaction.interceptor.TransactionInterceptor">  
        <property name="transactionManager" ref="transactionManager2" />  
        <property name="transactionAttributes">  
        <props>  
            <prop key="insert*">PROPAGATION_REQUIRED</prop>  
            <prop key="delete*">PROPAGATION_REQUIRED</prop>  
            <prop key="update*">PROPAGATION_REQUIRED</prop>  
            <prop key="do*">PROPAGATION_REQUIRED</prop>  
        </props>  
        </property>  
    </bean>  
      
    <!--  管理你连接的地方-->  
    <bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">  
        <property name="beanNames">  
        <value>*Service</value>  
        </property>  
        <property name="interceptorNames">  
            <list>  
            <value>transactionInterceptor1</value>  
            <value>transactionInterceptor2</value>  
            </list>  
        </property>  
    </bean>  
      
    <!-- ibatis的工厂数据源配置1 -->  
    <bean id="sqlMapClient1" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">  
        <property name="configLocation" value="WEB-INF/config/sql-map-config.xml" /><!--这里是ibatis的sqlMap文件集合 -->  
        <property name="dataSource" ref="dataSource1" />  
    </bean>  
      
    <!-- ibatis的工厂数据源配置2 -->  
    <bean id="sqlMapClient2" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">  
        <property name="configLocation" value="WEB-INF/config/sql-map-config.xml" /><!--这里是ibatis的sqlMap文件集合 -->  
        <property name="dataSource" ref="dataSource2" />  
    </bean>  
      
      
  
      
    <!-- ibatis抽象的Dao1 -->  
    <bean id="baseIbatisDAO1" abstract="true">  
        <property name="sqlMapClient">  
            <ref local="sqlMapClient1" />  
        </property>  
    </bean>  
      
    <!-- ibatis抽象的Dao2 -->  
    <bean id="baseIbatisDAO2" abstract="true">  
        <property name="sqlMapClient">  
            <ref local="sqlMapClient2" />  
        </property>  
    </bean>  


<!--将数据源注入到dao层-->
<bean id="deptDAO" class="com.cqjk.datasv.dept.DeptDAO" parent="baseIbatisDAO1">
<property name="sqlmapNamespace">
<value>dept</value>

</property>
</bean>
<bean id="userDAO" class="com.cqjk.datasv.user.UserDAO" parent="baseIbatisDAO1">
<property name="sqlmapNamespace">
<value>user</value>
</property>
</bean>
<bean id="eventsDAO" class="com.cqjk.datasv.events.EventsDAO"
parent="baseIbatisDAO2">
<property name="sqlmapNamespace">
<value>events</value>
</property>
</bean>
<bean id="ddwcDAO" class="com.cqjk.datasv.ddwc.DdwcDAO" parent="baseIbatisDAO2">
<property name="sqlmapNamespace">
<value>ddwc</value>
</property>
</bean>
<bean id="ddwcRyDAO" class="com.cqjk.datasv.ddwcry.DdwcRyDAO"
parent="baseIbatisDAO2">
<property name="sqlmapNamespace">
<value>ddwcry</value>
</property>
</bean>
 

 

spring boot配置多个数据源(oracle) 开始吧 在自己的项目下新建一个包,新建文件依次复制粘贴下列代码 1 package ***********.datasource; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.asp... 阅读详情

相关推荐

使用Spring Boot配置多个Redis数据源

在Spring Boot应用程序中,使用Redis作为数据存储的选择是非常常见的。有时候,我们可能需要配置多个Redis数据源来满足不同的需求,例如使用不同的Redis实例或数据库。本文将介绍如何在Spring Boot中配置多个Redis数据源,并提供相应的源代码示例。这样的配置对于需要使用多个Redis数据源的应用程序是非常有用的。此外,还可以通过使用。实例可以在应用程序中使用,通过调用其方法来与相应的Redis数据源进行交互。在使用这些模板时,我们可以调用它们提供的方法来执行相应的Redis操作。

YmsNet的博客 375

springboot配置多个数据源(两种方式)

在我们的实际业务中可能会遇到;在一个项目里面读取多个数据库的数据来进行展示,spring对同时配置多个数据源是支持的。 本文中将展示两种方法来实现这个功能。 springboot+mybatis 第一种方式: 在配置文件中配置多个数据源,然后通过配置类来获取数据源以及mapper相关的扫描配置 pom.xml &lt;parent&gt; &lt;groupId&gt;org.s...

qq_38058332的博客 10万+

Spring配置多个数据源

做项目碰到的问题,分享给大家,希望对你有帮助!

Spring 多数据源配置详解

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

大鹏的博客 7471

Dbeaver连接TDengine时序数据库

也没啥好总结的,就一句话:Dbeaver真香,而且还是我大JAVA实现的,赞。希望能帮到大家,uping。

zwrlj527的专栏 1902

通过TMS320F28335学习DSP的开发流程——28335的基础知识(1)

1、TMS320F28335内核的主要特点 ①F28335 DSP集成了DSP和微控制器的长处,如DSP的主要特征、单周期乘法运算,F28335能够在一个周期内完成32x32位的乘法累加运算,或者两个16x16位乘法累加运算,而同样32位的普通单片机则需要4个周期以上才能完成 ②快速的中断响应 ③可在任何内存位置进行单周期读、修改、写操作 ④可采用C/C++编程软件,效率非常高 2、处理器的主要资源 ①32位浮点DSP,主频是150MHz,方便电机控制、电力设备控制及工业控制等。 ②片上存储器:FLASH–

Kayboy的博客 2万+

SpringBoot集成多数据源的几种方式

SpringBoot集成多数据源的几种方式分享

admin_2022的博客 3161

手把手教你用手机号注册的Apple ID成功登录Developer账户(避坑指南)

本文详细解析了使用手机号注册的Apple ID登录开发者账户时常见的'不符合使用条件'报错问题,并提供了从添加可验证邮箱到设置主账号的四步解决方案。特别针对Apple Developer账户的验证机制,帮助开发者避免因邮箱缺失导致的登录失败,提升账户激活成功率。

z5a6b的博客 1220

【SpringBoot】多数据源N种实现详解

1、SpringBoot+MyBatis整合多数据源 2、SpringBoot+MyBatis-Plus整合多数据源 3,AbstractRoutingDataSource+AOP实现多数据源 4,JdbcTemplate 实现多数据源整合

精益求精 8953

comfyui中的k采样器报错Given groups=1, weight of size [320, 4, 3, 3], expected input[2, 8, 96, 54] to have 4

求助大佬!!!我运行comfyui的时候,k采样器变紫,同时报错显示:

M1226401728的博客 5180

OpenHarmony之Histreamer引擎深度解析:pipeline_core架构如何全面取代GStreamer,一统音视频播放与录制

Histreamer是OpenHarmony多媒体框架的核心媒体引擎,采用架构设计。一个轻量级的媒体引擎组件,提供播放、录制等场景的媒体数据流水线处理。1.播放场景分为如下几个节点:数据源读取、解封装、解码、输出;2.录制场景分为如下几个节点:数据源读取、编码、封装、输出。该引擎从OH5.0开始取代了原有的媒体引擎gstreamer(部分文档还保留较老架构的讲解),提供统一的音视频播放、录制、元数据解析等能力。

m0_67505153的博客 332

Spring是如何支持多数据源的

​ 正如文末回顾所讲,这种方式的多数据源对代码侵入性很强,每个组件都要写两套,不适合大规模线上实践。 对于多数据源需求, Spring 早在 2007 年就注意到并且给出了解决方案,原文见: dynamic-datasource-routing Spring 提供了一个 AbstractRoutingDataSource 类,用来实现对多个 DataSource 的按需路由,本文介绍的就是基于此方式实现的多数据源实践。 ​...

Javaesandyou的博客 359

业态即战场:零售平台的生意模型与系统设计解构

在这篇文章中,我们从“控货、自营、联营”三种典型零售业态出发,拆解了亚马逊、阿里、京东和本地闪购平台在商品模型设计上的差异与博弈。看似简单的卖货方式背后,其实是平台在“控货权”“商品归属权”上的深层策略博弈:谁掌控商品,谁就掌控数据、流量与利润分配权。本文尝试用一套通俗但不失专业的方式,帮助产品经理和技术伙伴读懂零售平台商品模型的底层逻辑与系统设计演化路径。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

Spring系列之多个数据源配置

我们在实际场景中,会有需要配置多个数据源的场景,比如说,我们在支付系统中,单笔操作(包含查询、插入、新增)中需要操作主库,在批量查询或者对账单查询等对实时性要求不高的场景,需要使用读库来操作,依次来减轻数据库的压力。那么我们如何配置多数据源?因为SpringBoot会实现自动配置,但是SpringBoot并不知道我们的业务场景分别要使用哪一个数据源,因此我们需要把相关的自动配置关闭。Copy Line-numbers language-java //第一个数据源。上面代码中,我们排除了。

2501_90193504的博客 466

OpenClaw一人公司落地案例:本地商家营销智能体月赚3万的秘密

角色:本地商家营销专家## 核心目标为商家生成高转化率的抖音营销策略,最大化 ROI。## 输入数据- 商家名称: "XX奶茶店"- 过去 30 天视频播放量: 12,000- 客单价: 28 元- 竞品平均播放量: 15,000- 市场趋势: rising## 策略生成规则1. **内容类型**:根据客单价推荐- < 30 元:美食探店 + 优惠券- > 30 元:场景化故事 + 会员权益2. **发布时间**:根据历史数据- 18:00-20:00 高峰期。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 542

Halcon 深度学习实战:PCB 缺陷检测模型的 TensorRT/OpenVino 加速推理

本文介绍了如何利用TensorRT和OpenVino对Halcon深度学习模型进行加速优化,以提升PCB缺陷检测系统的实时性能。文章详细阐述了模型加速框架的选择策略(根据硬件选用TensorRT或OpenVino)、优化流程实施(包括混合精度优化和模型导出)以及加速后的推理实现。实验结果表明,优化后的模型体积缩小40%,推理速度提升2-5倍(GPU环境下从79ms降至38ms,CPU环境下从3804ms降至2152ms),同时保持检测精度。通过完整的代码示例展示了从模型加速到实际部署的全流程,为工业视觉场景

LIN943168247的博客 535

spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式

spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式 spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式【部分内容转载】 2018年03月27日 18:58:41 守望dfdfdf 阅读数:62更多 个人分类: 工作 问题 编辑 版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csd...

独行侠的守望の博客 874

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Spring Boot中配置多个数据源

配置数据源实际上就是配置主从数据库,在一个配置文件中配置多个数据库。本文将围绕我们目前国内外开发的三种方式进行,一种是JDBCTemplate,一种是Spring Data JPA.z最后一种是我们目前企业用的最广的一种Mybatis的多数据源配置方式进行,无论你选择哪种都可以,根据你所需自行选择。

好看的皮囊千篇一律,有趣的灵魂万里挑一。 2460

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

spring-mybatis 配置多个数据源

spring-mybatis 配置多个数据源 在MapperScannerConfigurer配置中指定不同包下的数据源即可。 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="h...

piscesL6的博客 1159

在 Spring Boot 中配置和使用多个数据源

本文介绍了在SpringBoot应用中配置多数据源的方法。首先说明SpringBoot默认通过DataSourceProperties类映射单数据源配置,然后详细讲解如何通过创建多个配置类(如TodoDatasourceConfiguration)和自定义@ConfigurationProperties前缀来支持多数据源。文章分别说明了在Spring Data JDBC中如何配置多个JdbcTemplate,在JPA中如何为每个数据源单独配置EntityManagerFactory和事务管理器,并指出需要将

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 1089

在 Spring Boot 中配置多个数据源并使用 MyBatis-Plus 进行数据源切换

配置多个数据源并在 Spring Boot 中进行切换是一个常见的需求,尤其是在涉及多数据库架构或者分库分表的场景下。通过合理使用@Primary@Qualifier和配置,配合第三方动态数据源库,我们可以轻松实现数据源切换。最重要的是,要根据实际需求选择合适的配置方式,确保数据源的切换逻辑清晰、稳定。希望本文能够帮助你解决 MyBatis-Plus 无法切换多个数据源的问题,提升你的项目配置和开发效率。使用 MyBatis-Plus 分页插件时返回所有数据的解决方案-优快云博客。

一碗黄焖鸡三碗米饭的博客 2451

spring+mybatis配置多个数据源以及使用

有时项目较大或者数据库设计的问题,一个项目需要连接多个数据源,现在用我的成功的demo写一下步骤,以两个数据源为例,更多个也是一样的。 1、多个数据库参数 在jdbc.Properties中,配置两个数据库的连接。在此处的例子如下(我这里都是使用的MySql,如果要使用其他的请更换驱动),有些数据一样可以使用一个: jdbc.driverClassName=com.mysql.j...

zhanglei500038的博客 2313

Spring4 Mybatis配置多个数据源

Spring4 Mybatis配置多个数据源 概要 在实际项目当中,会使用多个数据源,比如replication结构, 或者基表库和用户库等等。 配置多个数据源有很多方式, 在这里只记载用annotation方式的多个数据源配置方式给记录下来。 方便以后再来这边做拷贝。 配置 版本,依赖 dependencies { compile 'org.springfr...

kimsung的专栏 1243

spring配置多个数据源

Spring多数据源配置 1、在spring配置文件中添加几个数据源:<bean id="TestDataSource1" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDrive...

weixin_33933118的博客 107
上一篇: node.js
下一篇: ibatis返回插入数据的主键
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值