如何在Spring Boot JDBC应用程序中配置两个数据库(本地和远程),并将数据插入表中。

33 浏览
0 Comments

如何在Spring Boot JDBC应用程序中配置两个数据库(本地和远程),并将数据插入表中。

这个问题已经在这里有了答案:

Spring Boot配置和使用两个数据源

我是Spring Boot的新手,正在尝试使用Spring JDBC配置和访问两个数据库。有人可以帮帮我吗?我有一个本地的数据库(MySQL)和另一个在AWS RDS(MySQL)上。我已经使用application.yml 配置了两个数据源,但无论何时运行应用程序,它只连接到在application.yml中配置的最后一个数据库。我想同时连接两个数据库,因为我需要从一个数据库中获取信息并处理,在AWS RDS中放置日志。有人可以帮帮我吗?

这是我的Dbconfig文件

@Bean(name = "rdsDatasource")
@ConfigurationProperties("spring.datasource.rds")
public DataSource rdsDatasource() {
    return DataSourceBuilder.create().build();
}
@Bean
public NamedParameterJdbcOperations namedParameterJdbcOperations(@Qualifier("rdsDatasource") DataSource rdsDbDataSource) {
    return new NamedParameterJdbcTemplate(rdsDbDataSource);
}

application.yml

datasource:
  local:
    url: jdbc:mysql://localhost:3306/test
    username: test
    password: test
    port: 3306
  rds:
    url: jdbc:mysql://aws-rds/test
    username: test
    password: test
    port: 3306.

admin 更改状态以发布 2023年5月21日
0
0 Comments

你已经配置好你的DataSource,使用RDS数据库的属性,这就是@ConfigurationProperties("spring.datasource.rds")的作用。

每个DataSource对象只能连接一个数据库。你应该创建另一个DataSource对象,使用@ConfigurationProperties("spring.datasource.local")并命名为其他的,例如@Bean("localDatasource"),那么你就有两个不同的DataSource对象,分别连接着两个数据库。

0