persistence.xml
先配一个data1
<persistence-unit name= "data1" transaction-type= "RESOURCE_LOCAL" > <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name= "hibernate.connection.driver_class" value= "com.mysql.jdbc.Driver" /> <property name= "hibernate.connection.url" value= "jdbc:mysql://localhost:3306/data1?useUnicode=yes&characterEncoding=UTF-8" /> <property name= "hibernate.connection.username" value= "root" /> <property name= "hibernate.connection.password" value= "123123" /> <property name= "hibernate.dialect" value= "org.hibernate.dialect.MySQL5InnoDBDialect" /> <property name= "hibernate.show_sql" value= "false" /> <property name= "hibernate.format_sql" value= "false" /> <property name= "hibernate.hbm2ddl.auto" value= "update" /> <property name= "hibernate.id.new_generator_mappings" value= "true" /> </properties> </persistence-unit> |
再配另一个data2
<persistence-unit name= "data2" transaction-type= "RESOURCE_LOCAL" > <provider>org.hibernate.ejb.HibernatePersistence</provider> <properties> <property name= "hibernate.connection.driver_class" value= "com.mysql.jdbc.Driver" /> <property name= "hibernate.connection.url" value= "jdbc:mysql://localhost:3306/data2?useUnicode=yes&characterEncoding=UTF-8" /> <property name= "hibernate.connection.username" value= "root" /> <property name= "hibernate.connection.password" value= "123123" /> <property name= "hibernate.dialect" value= "org.hibernate.dialect.MySQL5InnoDBDialect" /> <property name= "hibernate.show_sql" value= "false" /> <property name= "hibernate.format_sql" value= "false" /> <property name= "hibernate.hbm2ddl.auto" value= "update" /> <property name= "hibernate.id.new_generator_mappings" value= "true" /> </properties> </persistence-unit> |
spring_biz.xml配置
<bean id= "entityManagerFactory1" class = "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" > <property name= "persistenceUnitName" value= "data1" /> </bean> <bean id= "entityManagerFactory2" class = "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" > <property name= "persistenceUnitName" value= "data2" /> </bean> <!-- 事务管理 --> <bean id= "transactionManager1" class = "org.springframework.orm.jpa.JpaTransactionManager" > <property name= "entityManagerFactory" ref= "entityManagerFactory1" /> </bean> <bean id= "transactionManager2" class = "org.springframework.orm.jpa.JpaTransactionManager" > <property name= "entityManagerFactory" ref= "entityManagerFactory2" /> </bean> <!-- 将事务管理加到标有 @Transactional 的类或者方法上 --> <tx:annotation-driven transaction-manager= "transactionManager1" /> <tx:annotation-driven transaction-manager= "transactionManager2" /> |
测试
package com.ysotek.peihu.module.order.dao; import org.junit.Test; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; /** * Created by wei on 2017/2/24 15:09. */ public class DBTest { /** Dao层使用的时候加上unitName**/ // @PersistenceContext(unitName = "entityManager1") // private EntityManager entityManager1; // // @PersistenceContext(unitName = "entityManager2") // private EntityManager entityManager2; /**----------------------------**/ @Test public void test() { EntityManagerFactory data1 = Persistence.createEntityManagerFactory("data1 ); EntityManagerFactory data2 = Persistence.createEntityManagerFactory( "data2 " ); System.out.println( "数据源1:" + data1); System.out.println( "数据源2:" + data2); } } |
转载于:https://my.oschina.net/u/1411360/blog/1359353