hibernate配置多数据源

来源:互联网 发布:windows 编译so 编辑:程序博客网 时间:2024/05/16 07:34
[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="  
  7.     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  8.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd  
  9.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">  
  10.   
  11.     <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  12.         <property name="locations">  
  13.             <list>  
  14.                 <value>classpath:configure.properties</value>     
  15.                 <value>classpath:resources.properties</value>  
  16.             </list>  
  17.          </property>        
  18.     </bean>  
  19.     <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"/>  
  20.   
  21.     <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler">  
  22.         <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/>  
  23.     </bean>  
  24.   
  25.   
  26.   
  27.   
  28.   
  29.   
  30.   
  31.   
  32.     <bean id="sessionFactory" class="org.rd.framework.hibernate.ConfigurableSessionFactoryBean">  
  33.         <property name="hibernateProperties">  
  34.             <props>  
  35.                 <prop key="hibernate.dialect">${hibernate.dialect}</prop>  
  36.                 <prop key="hibernate.query.substitutions">true=1,false=0</prop>  
  37.                 <prop key="hibernate.jdbc.batch_size">25</prop>  
  38.                 <prop key="hibernate.show_sql">true</prop>  
  39.                 <prop key="hibernate.format_sql">false</prop>  
  40.                 <prop key="hibernate.generate_statistics">false</prop>  
  41.                 <prop key="hibernate.cache.use_query_cache">false</prop>  
  42.                 <prop key="hibernate.cache.region_prefix">direct</prop>  
  43.                 <prop key="hibernate.cache.use_structured_entries">false</prop>   
  44.                 <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>  
  45.                 <prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>   
  46.                 <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>               
  47.             </props>  
  48.         </property>  
  49.         <property name="dataSource"       ref="dataSource"/>  
  50.         <property name="mappingResources" ref="mappingResources"/>  
  51.         <property name="lobHandler"       ref="oracleLobHandler"/>  
  52.     </bean>  
  53.       
  54.     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">  
  55.         <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>  
  56.         <property name="minPoolSize" value="${c3p0.minPoolSize}"/>  
  57.         <property name="maxIdleTime" value="${c3p0.maxIdleTime}"/>  
  58.         <property name="maxStatements" value="${c3p0.maxStatements}"/>  
  59.         <property name="acquireIncrement" value="${c3p0.acquireIncrement}"/>  
  60.         <property name="idleConnectionTestPeriod" value="${c3p0.idleConnectionTestPeriod}"/>  
  61.         <property name="driverClass" value="${jdbc.driverClassName}"/>  
  62.         <property name="jdbcUrl" value="${jdbc.url}"/>  
  63.         <property name="user" value="${jdbc.username}"/>  
  64.         <property name="password" value="${jdbc.password}"/>  
  65.     </bean>  
  66.   
  67.   
  68.   
  69.   
  70.   
  71.   
  72.   
  73.   
  74.   
  75.   
  76.   
  77.   
  78.   
  79.     <bean id="sessionFactoryItsm" class="org.rd.framework.hibernate.ConfigurableSessionFactoryBean">  
  80.         <property name="hibernateProperties">  
  81.             <props>  
  82.                 <prop key="hibernate.dialect">${hibernate.dialect}</prop>  
  83.                 <prop key="hibernate.query.substitutions">true=1,false=0</prop>  
  84.                 <prop key="hibernate.jdbc.batch_size">25</prop>  
  85.                 <prop key="hibernate.show_sql">true</prop>  
  86.                 <prop key="hibernate.format_sql">false</prop>  
  87.                 <prop key="hibernate.generate_statistics">false</prop>  
  88.                 <prop key="hibernate.cache.use_query_cache">false</prop>  
  89.                 <prop key="hibernate.cache.region_prefix">direct</prop>  
  90.                 <prop key="hibernate.cache.use_structured_entries">false</prop>   
  91.                 <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>  
  92.                 <prop key="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</prop>   
  93.                 <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop>               
  94.             </props>  
  95.         </property>  
  96.         <property name="dataSource"       ref="dataSourceItsm"/>  
  97.         <property name="mappingResources" ref="mappingResources"/>  
  98.         <property name="lobHandler"       ref="oracleLobHandler"/>  
  99.     </bean>  
  100.       
  101.       
  102.     <bean id="dataSourceItsm" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">  
  103.         <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>  
  104.         <property name="minPoolSize" value="${c3p0.minPoolSize}"/>  
  105.         <property name="maxIdleTime" value="${c3p0.maxIdleTime}"/>  
  106.         <property name="maxStatements" value="${c3p0.maxStatements}"/>  
  107.         <property name="acquireIncrement" value="${c3p0.acquireIncrement}"/>  
  108.         <property name="idleConnectionTestPeriod" value="${c3p0.idleConnectionTestPeriod}"/>  
  109.         <property name="driverClass" value="${jdbc.driverClassName}"/>  
  110.         <property name="jdbcUrl" value="${itsm.jdbc.url}"/>  
  111.         <property name="user" value="${itsm.jdbc.username}"/>  
  112.         <property name="password" value="${itsm.jdbc.password}"/>  
  113.     </bean>  
  114.   
  115.   
  116.   
  117.   
  118.   
  119.   
  120.   
  121.   
  122.   
  123.   
  124.     <bean id="transactionManagerItsm" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  125.         <property name="sessionFactory" ref="sessionFactoryItsm"/>  
  126.     </bean>  
  127.     <bean id="transactionProxyTemplateItsm" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">  
  128.         <property name="transactionManager" ref="transactionManagerItsm"/>  
  129.         <property name="transactionAttributes">  
  130.             <props>  
  131.                 <prop key="get*">PROPAGATION_REQUIRED</prop>  
  132.                 <prop key="query*">PROPAGATION_REQUIRED</prop>  
  133.                 <prop key="*">PROPAGATION_REQUIRED</prop>  
  134.             </props>  
  135.         </property>  
  136.     </bean>     
  137.   
  138.   
  139.   
  140.   
  141.   
  142.   
  143.   
  144.     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">  
  145.         <property name="sessionFactory" ref="sessionFactory"/>  
  146.     </bean>  
  147.       
  148.     <bean id="transactionProxyTemplate" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">  
  149.         <property name="transactionManager" ref="transactionManager"/>  
  150.         <property name="transactionAttributes">  
  151.             <props>  
  152.                 <prop key="get*">PROPAGATION_REQUIRED</prop>  
  153.                 <prop key="query*">PROPAGATION_REQUIRED</prop>  
  154.                 <prop key="*">PROPAGATION_REQUIRED</prop>  
  155.             </props>  
  156.         </property>  
  157.     </bean>     
  158.   
  159.   
  160.   
  161.   
  162.   
  163.        <bean id="jdbcTemplateItsm" class="org.springframework.jdbc.core.JdbcTemplate">  
  164.         <property name="dataSource">  
  165.             <ref bean="dataSourceItsm"/>  
  166.         </property>  
  167.        </bean>  
  168.     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
  169.           <property name="dataSource">  
  170.             <ref bean="dataSource"/>  
  171.           </property>  
  172.         </bean>  
  173.       
  174.   
  175.           
  176.   
  177.   
  178.       
  179. </beans>  


使用不同数据源在接口中配置即可

 使用数据源dataSource

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="  
  7.     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  8.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd  
  9.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">  
  10.   
  11.  <bean id="HDLoginService" parent="transactionProxyTemplate">  
  12.   <property name="target">  
  13.    <bean class="org.hd.login.service.impl.LoginServiceImpl">  
  14.     <property name="sessionFactory">  
  15.      <ref bean="sessionFactory"/>  
  16.     </property>  
  17.    </bean>  
  18.   </property>  
  19.   <property name="proxyInterfaces">  
  20.    <value>org.hd.login.service.LoginService</value>  
  21.   </property>  
  22.  </bean>  
  23. </beans>  


使用数据源dataSourceItsm

[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xmlns:tx="http://www.springframework.org/schema/tx"  
  6.     xsi:schemaLocation="  
  7.     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  8.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd  
  9.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">  
  10.   
  11.     <bean id="businessServiceItsm" parent="transactionProxyTemplate">  
  12.         <property name="target">  
  13.             <bean class="org.hd.business.service.impl.BusinessServiceImplItsm">  
  14.                 <property name="sessionFactory">  
  15.                     <ref bean="sessionFactoryItsm"/>  
  16.                 </property>  
  17.             </bean>  
  18.         </property>  
  19.         <property name="proxyInterfaces">  
  20.             <value>org.hd.business.service.BusinessServiceItsm</value>  
  21.         </property>  
  22.     </bean>  
  23.       
  24.     <bean id="businessService" parent="transactionProxyTemplate">  
  25.         <property name="target">  
  26.             <bean class="org.hd.business.service.impl.BusinessServiceImpl">  
  27.                 <property name="sessionFactory">  
  28.                     <ref bean="sessionFactory"/>  
  29.                 </property>  
  30.             </bean>  
  31.         </property>  
  32.         <property name="proxyInterfaces">  
  33.             <value>org.hd.business.service.BusinessService</value>  
  34.         </property>  
  35.     </bean>  
  36.       
  37. </beans>  
0 0
原创粉丝点击