2017-12-28 11 views
0

Ich habe zwei verschiedene MySQL-Datenbank aus der gleichen Verbindung und möchte beide wie auf diese Weise in meinem application.properties verwenden:Spring Boot JPA, wie mehrere Datenbanken von derselben Verbindung hinzufügen?

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= 

Aber dies ist nicht erlaubt (Schlüssel des duplizieren). Ich habe this guide gefunden, aber das ist zu viel Code, den ich denke, nicht eine elegante Lösung, sieht aus wie Workaround für einfaches Problem. Gibt es bessere und viel einfachere Lösungen?

PS: Ich bin neu zu Spring Boot.

Antwort

0

Ich denke, dass Sie nur 1 MySQL-Datenbank verwenden können. Versuchen Sie, mit PostgreSQL zu kombinieren. Example

1

Sie müssen verschiedene Schlüssel für verschiedene Datenquellen deklarieren. Die Hauptkonfigurations für Multi-Datenquelle ist (dies ist die Demo ist):

@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(); 
} 

Sie auf this link und the post beziehen kann eine Übersicht über die Konfiguration haben.

Verwandte Themen