Spring+jpa连接多个数据库

1.persistence.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">

transaction-type="RESOURCE_LOCAL">
org.apache.openjpa.persistence.PersistenceProviderImpl
cn.wiztek.hprms.domain.Building
cn.db.domain.tablename1




transaction-type="RESOURCE_LOCAL">
org.apache.openjpa.persistence.PersistenceProviderImpl
cn.db2.domain.tablename1






2.ApplicationContext.xml(写了两个。。还有个ApplicationContext1.xml内容差不多)
		class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
value="com.ibm.db2.jcc.DB2Driver" />
value="jdbc:db2://127.0.0.1:50000/testdb" />




class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">





class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter">




两个文件里面唯一不同的就是dataSource分别连接两个数据库,persistenceUnitName分别为DBNAME1和DBNAME2。
3.BeansFactory.java (还是两个,ClassPathResource分别写的ApplicationContext.xml和ApplicationContext1.xml)
public class BeansFactory {
private static Resource res = null;//new ClassPathResource("/cn/wiztek/remis/config/service.xml");//new ClassPathResource("/cn/wiztek/remis/config/service.xml");
private static BeanFactory factory = null;//new XmlBeanFactory(res);//new XmlBeanFactory(res);
static {
try {
System.out.println("!!!");
res = new ClassPathResource("ApplicationContext.xml");
factory = new XmlBeanFactory(res);
} catch (Throwable ex) {
System.err.println(ex);
ex.printStackTrace();
throw new ExceptionInInitializerError(ex);
}
}

public static Object getBean(String beanName){
return factory.getBean(beanName);
}
}

你可能感兴趣的:(编程学习,JPA,Spring,XML,DB2,Apache)