Spring boot JPA如何从同一个连接添加多个数据库?

问题描述 投票:0回答:2

我有两个不同的mysql数据库来自同一个连接,并希望在我的application.properties中使用这两种方式:

spring.datasource.url=jdbc:mysql://localhost:3306/membership
spring.datasource.username=root
spring.datasource.password=

spring.datasource.url=jdbc:mysql://localhost:3306/finance
spring.datasource.username=root
spring.datasource.password=

但这是不允许的(重复键)。我找到了this guide,但这是很多代码,我认为不是一个优雅的解决方案,看起来像简单问题的解决方法。是否有更好,更简单的解决方案?

PS:我是春季靴子的新手。

java spring spring-boot spring-data-jpa spring-jdbc
2个回答
1
投票

您必须为不同的数据源声明不同的键。多数据源的主要配置是(这是演示):

@Bean
@Primary
@ConfigurationProperties("app.datasource.foo")
public DataSourceProperties fooDataSourceProperties() {
    return new DataSourceProperties();
}

@Bean
@Primary
@ConfigurationProperties("app.datasource.foo")
public DataSource fooDataSource() {
    return fooDataSourceProperties().initializeDataSourceBuilder().build();
}

@Bean
@ConfigurationProperties("app.datasource.bar")
public DataSourceProperties barDataSourceProperties() {
    return new DataSourceProperties();
}

@Bean
@ConfigurationProperties("app.datasource.bar")
public DataSource barDataSource() {
    return barDataSourceProperties().initializeDataSourceBuilder().build();
}

您可以参考this linkthe post来概述配置。


-2
投票

我想你只能使用1个MySQL数据库。尝试与PostgreSQL结合使用。 Example

© www.soinside.com 2019 - 2024. All rights reserved.