动态连接两个或多个数据库
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();
【讨论】:
以上是关于动态连接两个或多个数据库的主要内容,如果未能解决你的问题,请参考以下文章