在连接数据库的时候,要声明驱动和连接到哪个数据库的,你写同一个数据库就行了,就这么简单~
Java连数据库不管用不用框架底层都是JDBC,而JDBC对每种类型数据库需要重新配置驱动,多个数据库同时用就没法单独使用连接池了,每个数据库都要打开自己的连接池的。你可以考虑自己写一个适配器层接口和实现,实现里面写连接多种数据库的逻辑,在里面调用原生JDBC代码或Hibernate, MyBatis那些框架都可以,这样上面那些层都不用改变了。就像下面这个(示例,只写了查,用Hibernate,其他类似):
public interface MultiTypeDBSupport {
public List getData()
// ...
}
public class MultiTypeDBSupportImpl implements MultiTypeDBSupport {
public SessionFactory getSessionFactory(Stirng configFile){
SessionFactory sessionFactory = Configuration().config(configFile).buildSessionFactory()
}
public List getData(){
SessionFactory sessionFactoryMySQL = getSessionFactory("hibernateMySQL.cfg.xml")
Session sessionMySQL = sessionFactoryMySQL.openSession()
List users1 = sessionMySQL.createQuery("from User")
SessionFactory sessionFactoryOracle = getSessionFactory("hibernateOracle.cfg.xml")
Session sessionOracle = sessionFactoryOracle.openSession()
List users2 = sessionOracle.createQuery("from User")
users1.addAll(users2)
return users1
}
// .......
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)