<p>首先定义两个可以切换的数据源</p>
<p><bean id="dataSource"<br> class="org.apache.commons.dbcp.BasicDataSource"<br> destroy-method="close"><br> <property name="driverClassName"<br> value="oracle.jdbc.driver.OracleDriver" /><br><br> <property name="url" value="${jdbc.url}" /><br> <property name="username" value="${jdbc.username}" /><br> <property name="password" value="${jdbc.password}" /><br> </bean></p>
<p> </p>
<p><bean id="dataSource1"<br> class="org.apache.commons.dbcp.BasicDataSource"<br> destroy-method="close"><br> <property name="driverClassName" value="com.mysql.jdbc.Driver" /><br> <property name="url" value="${jdbc.url1}"/><br> <property name="username" value="${jdbc.username1}" /><br> <property name="password" value="${jdbc.password1}" /><br> </bean></p>
<p> </p>
<p> </p>
<p>2.定义spring 代理 </p>
<p> </p>
<p><bean id="swapper" class="org.springframework.aop.target.HotSwappableTargetSource"><br> <constructor-arg><ref local="dataSource"/></constructor-arg><br> </bean><br> <br> <bean id="swappableDataSource" class="org.springframework.aop.framework.ProxyFactoryBean"><br> <property name="targetSource"><br> <ref local="swapper"/><br> </property><br></bean></p>
<p> </p>
<p>3. 注入datasource</p>
<p> <bean id="testdao"<br> class="com.coolhong.test.dao.testdaoibatis"><br> <property name="dataSource" ref="swappableDataSource" /><br> </bean></p>
<p> </p>
<p>4. 切换datasource代码:</p>
<p> </p>
<p> HotSwappableTargetSource swapper = (HotSwappableTargetSource) ctx.getBean("swapper");<br> Object newTarget = ctx.getBean("dataSource1");<br> swapper.swap(newTarget);</p>
<p> </p>
<p>这个时候datasource 就自动切换到datasource1</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>第一次回复 ,如果有什么错误的地方 请指正</p>
<p> </p>
<p> </p>
<p> </p>
分享到:
相关推荐
在探讨Hibernate中所有数据库方言之前,我们先简要回顾一下Hibernate框架本身。Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用与各种关系型数据库进行交互。它提供了强大的功能,如对象持久化、查询...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,极大地简化了数据库操作。金仓数据库,又称为Kingbase,是一款国产的高性能、高可靠性的关系型数据库管理...
【hibernate动态数据库进化版】是一个关于Java持久层框架Hibernate深入学习的主题,它主要探讨了如何在实际项目中让Hibernate更加灵活地适应不同的数据库环境,实现动态的SQL生成和执行。这一进化的版本旨在提高开发...
Hibernate 配置各种数据库 Hibernate 是一个基于 Java 的持久层框架,提供了一个抽象的数据访问层,能够与多种数据库进行集成。在 Hibernate 的配置文件中,我们可以配置不同的数据库连接,包括驱动程序、URL 等...
《Hibernate动态数据库改进版》 在Java开发领域,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本篇文章将深入探讨如何利用Hibernate实现动态数据库操作,并结合具体的实例,介绍一个...
Hibernate是一款强大的Java持久化框架,它允许开发者将Java对象映射到关系数据库中,从而简化了数据库操作。本文将深入探讨Hibernate如何自动生成数据库文件,以及相关知识点。 首先,Hibernate的核心概念是对象...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,而无需编写大量的SQL语句。"根据Hibernate反向生成数据库的Java代码"这一主题涉及到的主要知识点包括...
标题"Hibernate实例 oracel数据库"表明我们将探讨如何使用ORM框架Hibernate与Oracle数据库进行交互。在实际开发中,Hibernate是Java领域非常流行的一个对象关系映射工具,它允许开发者以面向对象的方式操作数据库,...
在本文中,我们将深入探讨如何在Java Hibernate应用中实现不同数据库之间的动态切换。 首先,我们需要理解Hibernate的核心配置文件`hibernate.cfg.xml`。在这个文件中,通常会指定数据库连接的信息,如URL、用户名...
Hibernate 与各种数据库的连接配置 Hibernate 是一个 популяр的对象关系映射(ORM)工具,用于将 Java 对象映射到关系数据库中。为了使用 Hibernate,需要配置连接数据库的设置。下面将介绍 Hibernate 与...
**标题:“Hibernate操作数据库”** Hibernate 是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中操作数据库的强大工具。通过使用Hibernate,开发者可以避免编写大量的SQL语句,而是专注...
通过访问提供的博文链接(https://unya.iteye.com/blog/89405),我们可以找到更多关于Hibernate数据库连接的实践经验和深入讲解。 【标签】:“源码”和“工具”表明我们将关注于Hibernate的内部实现以及它作为...
- Hibernate允许通过配置文件来动态加载对应当前数据库的映射文件。例如,可以创建一个`database.properties`文件,其中包含一个`datasource.type`属性来指定当前使用的数据库类型。根据这个类型,程序可以动态地...
本篇将深入探讨如何在Hibernate中实现数据库操作而无需使用注解,以及如何解决在Hibernate 3中遇到的连接SQL的常见问题。 首先,让我们了解在Hibernate中免注解实现数据库操作的基本步骤: 1. **配置Hibernate**: ...
Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。在Java开发中,Hibernate是连接Java应用程序与多种数据库(如MySQL和Oracle)的重要桥梁...
Hibernate与JDBC对于数据库的性能操作对比事例,配置,更多信息资源
3. **CGLIB或ASM**: 用于为那些没有默认构造函数或者不可被代理的类生成动态代理,用于Hibernate的懒加载功能。 4. **DOM4J或JAXB**: 处理XML配置文件,如映射文件。 **JDBC** Java Database Connectivity (JDBC)...
* 支持多种数据库管理系统:Hibernate 支持多种数据库管理系统,例如 Oracle、MySQL、 PostgreSQL 等。 * 提供了高效的数据访问机制:Hibernate 提供了一种高效的数据访问机制,帮助开发者快速地访问和操作数据库。 ...
* 使用 Hibernate:使用 Hibernate 来操作数据库,例如执行查询、插入、更新、删除等操作。 四、 Hibernate 的配置 Hibernate 的配置主要包括以下几个方面: * dialect:数据库方言,每个数据库有不同的数据库...
**Hibernate** 提供了一种抽象层,将Java对象与数据库表之间的映射自动化,极大地简化了数据库操作。以下是Hibernate的主要知识点: 1. **配置Hibernate**:通过hibernate.cfg.xml文件配置数据库连接信息,实体类...