我有两个不同的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:我是春季靴子的新手。
您必须为不同的数据源声明不同的键。多数据源的主要配置是(这是演示):
@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();
}
我想你只能使用1个MySQL数据库。尝试与PostgreSQL结合使用。 Example