答复: Hibernate如何动态链接数据库?

<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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值