java连接多个数据库该怎么弄

java连接多个数据库该怎么弄,第1张

这个你只要配置3个SessionFactory、datasource分别使用3个用户,你可以使用一个jdbc.properties但是里面不要写用户,用户信息在datasource中直接写,然后你需要使用那个用户连接数据库就是用对应的SessionFactory即可!

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

}

// .......

}


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

原文地址:https://54852.com/sjk/6754760.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存