如何让程序支持多个数据库

如何让程序支持多个数据库,第1张

不同的程序可以用同一个数据库,他们所用的table不一样和对table的 *** 作也不同

在连接数据库的时候,要声明驱动和连接到哪个数据库的,你写同一个数据库就行了,就这么简单~

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

}

// .......

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6699220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存