【问题标题】:How do I write in two different databases in Spring Boot?如何在 Spring Boot 中写入两个不同的数据库?
【发布时间】:2021-09-03 00:17:46
【问题描述】:

我需要创建一个 REST API,以便两个组件可以相互通信。

流程是这样开始的:

  1. 组件 1 发送请求
  2. API 对其进行处理,如果一切正常,则写入 Component 2 DB 中
  3. 各种数据处理...
  4. 组件 2 发送请求
  5. API 对其进行处理,如果一切正常,则写入 Component 1 DB 中

如何在 Spring Boot 中实现这一点?我不需要任何域类,所以我认为我不需要使用 JPA。

更新:我需要让它与 JdbcTemplate 一起工作

提前致谢

【问题讨论】:

标签: java spring postgresql spring-boot rest


【解决方案1】:

我不确定您打算在这里实现什么,但如果您确实需要使用 JDBC 模板实现这一目标,我建议您这样做。

  1. 在您的配置文件中:例如application.properties,您可以指定键来保存用于配置与您需要与之交互的数据库的每个不同连接的值。一个天真的例子可能是:
app.datasource1.url=...
app.datasource1.driver=...
app.datasource1.username=...
app.datasource1.password=...

app.datasource2.url=...
app.datasource2.driver=...
app.datasource2.username=...
app.datasource2.password=...
  1. 您可以在配置类中创建这些连接的 bean,并使用名称 (qualifiers) 区分它们,其中一个可以是标记的主数据源,另一个可以是辅助数据源。但是,作为替代方案,您可以在每次需要数据库连接实例时执行 3 次。

  2. 由于您使用的是 JDBC 模板,因此在调用数据库的服务类或实现中,您可以先创建一个连接 (an instance of JDBC Template),然后再使用它。

使用这种方法,您可以创建任意数量的连接到任意数量的数据库。不知道这是否有帮助。

【讨论】:

  • 就是这样!谢谢
  • 如果这有帮助,我认为您应该接受答案@lorenzo1723
猜你喜欢
  • 2018-11-08
  • 1970-01-01
  • 2019-10-28
  • 2014-11-01
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 2019-12-10
  • 2020-11-03
相关资源
最近更新 更多