问题描述
我有来自 6 台不同机器的 6 个数据库,并且有一台云服务器。它将在用户登录时决定将在应用程序中使用哪个数据库。
我能够连接单个数据库。但我不知道处理数据库的动态名称。
更新:
我能够动态更改数据库,但一个问题正在发生。只有一个数据库中有一些存储过程是常见的(放置在云服务器上),(我有不能将存储过程添加到所有数据库的限制),所以我无法为任何其他数据库调用存储过程。我怎么打电话?
请给我一些想法。
在 Spring 中有一个名为的类AbstractRoutingDataSource
,它将满足您的要求,通过文档,您将找到一些有关如何实现该类的具体类的帮助,您需要更改(或添加)现有代码的某些部分以配置动态Data source
。这个来自 spring 源的博客正在解释这一点。
这个 Java Ranch 论坛主题解释了如何做到这一点。它向您展示了如何在运行时更改用户名/密码,但我想更改部分连接字符串或其他任何内容将是相同的模式。
http://www.coderanch.com/t/489984/ORM/java/modify-hibernate-cfg-xml-at