web-dev-qa-db-fra.com

Choix de base de données JPA Spring Boot

Comment puis-je démarrer une application Spring Boot JPA autonome - pas via cli - avec un choix de bases de données pour obtenir des données, par exemple localhost: 5432/my_db; ou 192.168.1.100:5432/our_db, ou example.com:5432/their_db?

Mine utilise actuellement celui du fichier application.properties qui contient:

spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/my_db
spring.datasource.username=postgres
spring.datasource.password=postgres

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create

Merci d'avance

9
Luisa Francisco

Étant donné que vous devez probablement également configurer un nom d'utilisateur et un mot de passe, il est recommandé de créer des fichiers application-mydatasource.properties distincts pour chaque configuration de source de données. Vous activerez ensuite la source de données que vous souhaitez utiliser en fonction de la définition du profil actif. Vous pouvez définir le profil actif dans application.properties (spring.profiles.active) ou via un argument de ligne de commande:

$ Java -jar -Dspring.profiles.active=mydatasource demo-0.0.1-SNAPSHOT.jar

Le application-mydatasource.properties remplacera alors les propriétés de votre application.properties. Je crois que vous devrez également définir spring.profiles= à la liste des profils disponibles.

Voir Propriétés spécifiques du profil .

4
gyoder

Outre l'étiquette @Profile, vous devrez utiliser dans chaque environnement le déploiement de l'application que vous pourrez utiliser dans Spring Boot:

@ConditionalOnProperty (name = "propertyName", havingValue = "propertyValue")

Et déclarez une propriété pour décider quelle base de données vous souhaitez charger dans chaque cas!

J'espère pouvoir aider !!

0
a.zaragoza.ib