【问题标题】:Connecting to Multiple "Dynamic" Databases Along With Local "Static" Database in Spring Boot在 Spring Boot 中连接到多个“动态”数据库以及本地“静态”数据库
【发布时间】:2020-06-04 07:54:56
【问题描述】:

我正在使用 Java 和 Spring Boot 构建一个应用程序,我想在每次运行时查询两个外部数据库(它们可能具有不同的模式和数据)。因此我想每次都查询两个不同的数据库。访问这些数据库后,我想将结果(我的业务逻辑)存储在本地静态数据库中。

我最初想将所有数据库数据(用户、密码、url)存储在 application.properties 中,但后来意识到这可能不是最佳实践,因为我正在查询的两个数据库的详细信息将被接收为来自用户的输入。因此,我不确定每次收到新请求时更新和覆盖 application.properties 是否最好(如果有更好的方法,请告诉我。

假设我在 application.properties 中有 DB 信息,我已经遵循了 Spring 中多个 DB 连接的多个教程,它们都遵循了为每个 DB 制作配置文件、调用存储库/DAO 文件每个数据库,它引用所述数据库的模型。这对我来说似乎有点问题,因为我事先不知道数据库的架构,所以我无法定义模型类。即使我这样做了,这可能会在数据库之间发生变化,所以我真的不确定该怎么做。 鉴于我不知道它们的架构可能是什么样子,是否有更灵活/通用的方式来使用 Spring 或老式 Java 查询“外国”数据库?

非常感谢任何帮助!

【问题讨论】:

    标签: java spring spring-boot spring-data-jpa spring-data


    【解决方案1】:

    作为最佳实践,必须在application.properties 或配置类中维护多个数据库配置。参考这里-https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-two-datasources

    您可以拥有一个带有从用户提供的值分配的 DB 属性的 POJO。在数据库配置类中使用该 POJO 连接到不同的数据库。

    不知道架构不是问题,因为您可以使用 java 集合处理数据。

    【讨论】:

      猜你喜欢
      • 2019-01-13
      • 1970-01-01
      • 2013-10-26
      • 2018-08-16
      • 2016-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多