spring3+hibernate3(jpa) 如何配置多个数据源?(bean的配置管理是基于注解)
我在一个工程中用的是oracle和mysql,以下配置,现在还没有碰到问题:
<?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="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd "> <context:component-scan base-package="tss.vpdn.hdle"/> <bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="oracle.jdbc.OracleDriver"/> <property name="jdbcUrl" value="jdbc:oracle:thin:@171.32.5.103:1521:ora10g"/> <property name="user" value="csnms"/> <property name="password" value="sbsbsb"/> <property name="initialPoolSize" value="1"/> <property name="minPoolSize" value="1"/> <property name="maxPoolSize" value="3"/> <property name="maxIdleTime" value="60"/> <property name="acquireIncrement" value="3"/> <property name="idleConnectionTestPeriod" value="60"/> </bean> <bean id="sessionFactory2" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource2"/> <property name="packagesToScan" value="tss.vpdn.model"/> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.Oracle10gDialect hibernate.hbm2ddl.auto=none hibernate.show_sql=true hibernate.format_sql=false </value> </property> </bean> <bean id="txManager2" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory2"/> </bean> <tx:annotation-driven transaction-manager="txManager2"/> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="com.mysql.jdbc.Driver"/> <property name="jdbcUrl" value="jdbc:mysql://112.231.65.133:3306/sdvpdn?useUnicode=true&characterEncoding=UTF-8"/> <property name="user" value="root"/> <property name="password" value="sbsbsb"/> <property name="initialPoolSize" value="1"/> <property name="minPoolSize" value="1"/> <property name="maxPoolSize" value="30"/> <property name="maxIdleTime" value="60"/> <property name="acquireIncrement" value="3"/> <property name="idleConnectionTestPeriod" value="60"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="packagesToScan" value="tss.vpdn.model"/> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQLMyISAMDialect hibernate.hbm2ddl.auto=none hibernate.show_sql=true hibernate.format_sql=false </value> </property> </bean> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <tx:annotation-driven transaction-manager="txManager"/> </beans>
注入的时候用 @Resource指定名称:
@Resource(name="sessionFactory2")
private SessionFactory factory;
@Transactional (value= "txManager2" ) |
相关推荐
zhangdy0 2020-05-25
csuzxm000 2020-08-02
幸运小侯子 2020-07-06
吾日五省我身 2020-05-29
mituan 2020-05-26
吾日五省我身 2020-05-12
whbing 2020-04-30
琦小虾的代码世界 2020-03-13
也许不会看见 2020-01-29
zxznsjdsj 2020-01-18
吾日五省我身 2020-01-07
burning 2014-05-28
whbing 2019-12-19
flydoging 2019-12-05
whileinsist 2019-11-19
zhangbeizhen 2019-11-16
lysanderK 2019-11-08
congcongsuiyue 2016-08-19
数据分析杂谈 2016-12-13