Spring Boot JPA数据库选择

时间:2014-08-27 15:15:49

标签: postgresql jpa spring-boot

如何启动独立的Spring Boot JPA应用程序 - 而不是通过cli - 选择数据库来获取数据,例如localhost:5432 / my_db;或192.168.1.100:5432/our_db,或example.com:5432/their_db?

我目前使用的application.properties文件中包含:

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

提前致谢

2 个答案:

答案 0 :(得分:4)

由于您可能还需要配置用户名和密码,因此我建议为每个数据源配置创建单独的application-mydatasource.properties文件。然后,您将根据设置活动配置文件激活要使用的数据源。您可以在application.propertiesspring.profiles.active)中或通过命令行参数设置活动配置文件:

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

application-mydatasource.properties将覆盖application.properties中的所有媒体资源。我相信您还需要将spring.profiles=设置为可用的配置文件列表。

请参阅Profile specific properties

答案 1 :(得分:0)

除了@Profile标签之外的另一个选项,你必须在每个环境中声明你将部署应用程序,你可以在Spring Boot中使用标签:

@ConditionalOnProperty(name =“propertyName”,havingValue =“propertyValue”)

并在每种情况下声明一个属性以决定要加载的数据库!

希望有所帮助!!