动态连接两个或多个数据库

Posted

技术标签:

【中文标题】动态连接两个或多个数据库【英文标题】:Connect two or more databases dynamically 【发布时间】:2012-03-16 06:11:18 【问题描述】:

我使用 mysql 作为我的数据源。数据库是动态创建的,详细信息保存在主数据库表中。用户可以登录系统并连接到任何数据库。要求是使用休眠在应用程序级别连接到任何此类数据库。在任何时候,我们都不知道数据库的数量或名称,除了从主方案中获取它们并传递值来创建一个新的连接,就像这样。

Connection conn=connectDatabase(db1);
Connection conn=connectDatabase(db2);

我知道可以做到,但我不知道。问题是如何使用休眠来做到这一点。

【问题讨论】:

可以参考***.com/q/9315593/366964, ***.com/q/5104185/366964 & ***.com/q/4292969/366964 不能只使用mysql和Hibernate 【参考方案1】:

您可以在 hibernate 中使用 jndi-naming 查找。在 Tomcat 的 server.xml 中配置数据库(可能是)...

您可以通过这种方式在代码中访问它...

Context initialCntx = new InitialContext();
SessionFactory sessionFactory = (SessionFactory)initialCntx
     .lookup("java:comp/env/hibernate/SampleSessionFactory");
Session hibernateSess = sessionFactory.getCurrentSession();

【讨论】:

以上是关于动态连接两个或多个数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在c#中动态组合两个或多个DataTables

ef5.0 怎么连接mysql

使用 Pandas 连接两个或多个变量以创建新变量

我们可以用spring boot连接多个mongoDB数据源吗

使用内部连接将两个或多个条件定义到存储过程中?

如何在 asp.net Web 应用程序中连接多个数据库?