Spring双数据库配置

开发 前端 后端
有时候我们可能在一个项目中使用两个数据库,为了实现使用两个或多个数据库的功能,我们需要在Spring中配置相关信息……

有时候我们可能在一个项目中使用两个数据库,为了实现使用两个或多个数据库的功能,我们需要在Spring中配置相关信息。

首先是添加配置文件conf.properties

  1. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  2.         <property name="locations">  
  3.             <list>  
  4.                 <value>classpath:config.properties</value>  
  5.             </list>  
  6.         </property>  
  7. </bean> 

其次是添加数据源(${...}对应的是conf.properties中的配置信息)

  1. <!--对应数据A的数据源-->  
  2. <bean id="dataSource_A" class="org.apache.commons.dbcp.BasicDataSource">  
  3.         <property name="driverClassName" value="${A.driver_class}" />  
  4.         <property name="url" value="${A.url}" />  
  5.         <property name="username" value="${A.username}" />  
  6.         <property name="password" value="${A.password}" />  
  7. </bean>  
  8. <!--对应数据库B的数据源-->  
  9. <bean id="dataSource_B" class="org.apache.commons.dbcp.BasicDataSource">  
  10.         <property name="driverClassName" value="${B.driver_class}" />  
  11.         <property name="url" value="${B.url}" />  
  12.         <property name="username" value="${B.username}" />  
  13.         <property name="password" value="${B.password}" />  
  14. </bean> 

之后是添加对应的sessionFactory:

  1. <!-- A的sessionFactory -->  
  2.     <bean id="sessionFactory_A" class="moretv.commons.spring.hibernate3.AnnotationSessionFactoryBean">  
  3.         <property name="dataSource" ref="dataSource_A"/>  
  4.     </bean>  
  5. <!-- B的sessionFactory -->  
  6.     <bean id="sessionFactory_B" class="moretv.commons.spring.hibernate3.AnnotationSessionFactoryBean">  
  7.         <property name="dataSource" ref="dataSource_B"/>      
  8.     </bean> 

在项目中的dao层有时会出现这样的配置信息:

  1. <bean id = "XDao" class = "xxx.xxx.xDaoImpl">  
  2. <property name="sessionFactory" ref="sessionFactory"></property>  
  3. </bean> 

为了实现使用两个不同的数据库,可以改成

  1. <span style="font-family:'sans serif', tahoma, verdana, helvetica;font-size:13px;line-height:19px;white-space:normal;background-color:#ffffff;">&nbsp;</span><span style="font-family:'sans serif', tahoma, verdana, helvetica;white-space:normal;background-color:#ffffff;"><!--使用A数据库的DAO--></span> <bean id = "XDao" class = "xxx.xxx.xDaoImpl">  
  2. <property name="sessionFactory" ref="sessionFactory_A"></property>  
  3. </bean>  
  4. <!--使用B数据库的DAO-->  
  5. <bean id = "XDao" class = "xxx.xxx.xDaoImpl">  
  6. <property name="sessionFactory" ref="sessionFactory_B"></property>  
  7. </bean> 

这样就能实现双数据库了。。。。

原文链接:http://my.oschina.net/u/241670/blog/80148

责任编辑:林师授 来源: OSCHINA
相关推荐

2021-10-28 19:28:04

数据库开发Spring

2010-04-19 16:01:54

2011-03-03 11:07:57

Spring数据库访问ORM

2011-04-14 11:09:14

MySQL数据库

2011-06-23 18:37:02

Qt 数据库

2011-02-28 15:45:12

2015-10-22 16:26:59

MySQL数据库双主配置

2011-03-07 09:26:37

2019-10-12 16:15:13

MySQL数据库多实例

2011-03-24 14:59:42

2011-01-21 11:12:01

Spring

2011-08-15 23:14:34

Oraclerman环境配置

2011-03-08 10:58:09

Sybase数据库

2018-01-08 18:47:39

Windows 10数据库管家婆软件

2017-10-25 15:27:52

MySQL数据库超时设置

2017-12-27 15:16:35

Spring BootFlyway数据库

2010-08-17 09:22:34

2011-06-21 15:48:41

2011-06-21 15:58:20

Qt 数据库

2010-04-02 17:11:45

Oracle数据库
点赞
收藏

51CTO技术栈公众号