14 votes

Spring Boot : Comment utiliser plusieurs schémas et choisir dynamiquement celui à utiliser au moment de l'exécution ?

J'ai la même question que ci-dessous, mais je veux connaître la réponse. Spring Boot : Comment utiliser plusieurs schémas et choisir dynamiquement celui à utiliser pour chaque requête au moment de l'exécution.

Veuillez m'aider à trouver la réponse à

Comment puis-je avoir une connexion à une base de données et spécifier un schéma différent pour chaque demande ?

Merci d'avance.

12voto

buræquete Points 4052

Ne serait-il pas possible de définir plusieurs sources de données et, en fonction de votre demande, de passer à celle dont le schéma est correct ?

spring.datasource.url = jdbc:oracle:thin:@//maui:1521/xe
spring.datasource.username = schema1
spring.datasource.password = ...

spring.datasource2.url = jdbc:oracle:thin:@//maui:1521/xe
spring.datasource2.username = schema2
spring.datasource2.password = ..

@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource schema1() {
    return DataSourceBuilder.create().build();
}

@Bean
@ConfigurationProperties(prefix="spring.datasource2")
public DataSource schema2() {
    return DataSourceBuilder.create().build();
}

Sinon, il faudrait supprimer et recréer la connexion pour continuer à utiliser la même source de données, ce qui serait très lent pour votre application puisqu'il faudrait se reconnecter encore et encore. Il serait préférable pour vous d'utiliser une base de données NoSQL pour réaliser cette sorte de stockage dynamique des données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X