Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在application.properties文件中显式传递数据库名称,而不是通过datasource.URL传递_Java_Spring_Spring Boot_Jdbc - Fatal编程技术网

Java 如何在application.properties文件中显式传递数据库名称,而不是通过datasource.URL传递

Java 如何在application.properties文件中显式传递数据库名称,而不是通过datasource.URL传递,java,spring,spring-boot,jdbc,Java,Spring,Spring Boot,Jdbc,如何在中显式传递数据库名称 application.properties 文件未通过datasource.URL spring.datasource.url = jdbc:mysql://localhost:3306/mydatabase spring.datasource.username = root spring.datasource.password = root 您可以使用额外的属性并在数据源url中使用它,如${your propname} 结果: database-name=my

如何在中显式传递数据库名称
application.properties
文件未通过datasource.URL

spring.datasource.url = jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username = root
spring.datasource.password = root

您可以使用额外的属性并在数据源url中使用它,如
${your propname}

结果:

database-name=mydatabase

spring.datasource.url = jdbc:mysql://localhost:3306/${database-name}
spring.datasource.username = root
spring.datasource.password = root
如果要通过系统属性传递数据库名称,可以使用

database-name=${database:mydatabase}
spring.datasource.url = jdbc:mysql://localhost:3306/${database-name}
在这里,您可以通过
java-Ddatabase=xxx
传递属性。。。 如果启动时缺少此属性,则在
(示例=>mydatabase)之后使用默认值


注意:您应该看看

我们是否也可以在迁移脚本中以同样的方式使用数据库${your propname}呢?改进了我的答案,希望对您有所帮助不确定您的意思:迁移脚本中的用法