java中如何为不同的数据库创建多个数据库连接

新手上路,请多包涵

我有一个应用程序在不同的地理位置使用四个数据库。所有数据库都包含相同的表,只是数据库名称因位置而异。我必须在我的应用程序中创建一些报告,这些报告使用来自每个数据库的数据。从 Java 应用程序创建这些数据库连接的正确方法是什么,是否有适合我可以使用的此任务的设计模式?

原文由 Harsha 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 404
2 个回答

因为你没有用任何标记你的问题, hibernateJPAORM 假设你正在处理普通的JBC。

话虽如此,我建议你有一个DAO层来处理底层数据库,并将连接细节留给具体实现。您可以在某些 .properties 文件中配置连接字符串,比方说。

[补充]

您还可以使用 DAO 工厂,一种抽象工厂或工厂方法模式的实现,以适合此处的为准。

[链接]

原文由 Adeel Ansari 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以通过多种方式实现这一目标:

  1. 如果您使用任何支持分布式事务的 Java EE 容器,那么您可以使用那里的功能。
  2. 如果您使用普通的 JDBC,那么您将不得不为每个数据库维护自己的连接。对于 JDBC:
    1. 提供所有连接细节
    2. 拥有一个 Facade,它通过调用抽象通用 DAO 为您提供所需的对象。
    3. 有一个基于连接创建 dao 的工厂。
  3. 使用 Hibernate 等 ORM 工具,您可以在其中使用多个数据库的配置。 教程
  4. 如果您使用的是 Spring,那么您可以为每个数据库配置一个数据源。 文档

设计模式:

  • Facade Pattern - 用于隐藏复杂性和多个数据库的使用。
  • 工厂 - 如果您自己管理数据库连接。
  • 单例 - 对于数据源

原文由 mprabhat 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题