use*_*261 10 spring database-connection spring-boot
我有一个工作的Spring Boot应用程序连接到Postgres数据库.我已经使用application.properties文件设置了项目,但是想要切换到application.yml文件.但是,当我进行切换时,我的应用程序在尝试连接到数据库时出错.
原始的applications.properties文件:
spring.jpa.database=POSTGRESQL
spring.datasource.platform=postgres
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.database.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=foo
spring.datasource.password=bar
Run Code Online (Sandbox Code Playgroud)
这是我在application.yml文件中到目前为止所做的:
spring.jpa:
database: POSTGRESQL
hibernate.ddl-auto: create-drop
show-sql: true
spring.datasource:
platform: postgres
driverClassName: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/mydb
username: foo
password: bar
Run Code Online (Sandbox Code Playgroud)
我在文件类型之间的翻译中遗漏了什么吗?
Zol*_*tan 27
您需要将.属性名称中的每个字符视为yaml文件中的级别:
spring:
jpa:
database: POSTGRESQL
show-sql: true
hibernate:
ddl-auto: create-drop
datasource:
platform: postgres
url: jdbc:postgresql://localhost:5432/mydb
username: foo
password: bar
driverClassName: org.postgresql.Driver
Run Code Online (Sandbox Code Playgroud)
编辑:有人建议编辑,谢谢你.该driverClassName物业实际应该在spring.datasource.但是,这个答案的目的是展示如何将properties文件转换为yaml格式.所以,我已经改变了driverClassName性质是在正确的道路,那就是没有从转型的一部分properties来yaml.
gra*_*der 12
请为另一个答案点赞(Z0lt@n 的答案)
但是为了将来的读者粘贴在这里......一个sql server版本。
spring:
jpa:
show-sql: true
hibernate:
ddl-auto: update
properties:
hibernate.jdbc.batch_size: 20
hibernate.cache.use_query_cache: false
hibernate.cache.use_second_level_cache: false
hibernate.cache.use_structured_entries: false
hibernate.cache.use_minimal_puts: false
datasource:
#SPRING_DATASOURCE_URL environment variable will be something like -> jdbc:sqlserver://MySqlServer\\MyInstance:1433;DatabaseName=MyDbName;
url: ${SPRING_DATASOURCE_URL}
username: ${SPRING_DATASOURCE_USERNAME}
password: ${SPRING_DATASOURCE_PASSWORD}
driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
Run Code Online (Sandbox Code Playgroud)
和 Maven 入口
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>7.0.0.jre8</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
附加
这似乎是类名的“标准”名称。
SPRING_DATASOURCE_DRIVER-CLASS-NAME
Run Code Online (Sandbox Code Playgroud)
当然,在我的例子中,你会使用:
com.microsoft.sqlserver.jdbc.SQLServerDriver
Run Code Online (Sandbox Code Playgroud)
现在,一些 spring、springboot、环境变量 voodoo 警报。
有时,在指定环境变量时...对于某些命令行项目,我必须更改连字符并使其成为下划线。(又名,“SPRING_DATASOURCE_DRIVER-CLASS-NAME”与“SPRING_DATASOURCE_DRIVER_CLASS_NAME”
-e 下面的一般表示“通过命令行传递环境变量值”
MyCommandLineProgram.exe -e SPRING_DATASOURCE_URL="jdbc:sqlserver://myServerName:1433;DatabaseName=MyDB;" -e SPRING_DATASOURCE_USERNAME="myUserName" -e SPRING_DATASOURCE_PASSWORD="myPassword" -e SPRING_DATASOURCE_DRIVER_CLASS_NAME="com.microsoft.sqlserver.jdbc.SQLServerDriver"
Run Code Online (Sandbox Code Playgroud)
有一些巫毒教给你。
那些对日志记录 (logback.xml) 问题感兴趣的人,也许也想在这里找到我的答案:
Spring Boot Logback DB Appender 属性
postgresql 的application.yml文件
spring:
datasource:
driver-class-name: org.postgresql.Driver
username: postgres
password: root
url: jdbc:postgresql://localhost/postgres
platform: postgres
initialization-mode: always
continue-on-error: true
jpa:
show-sql: true
generate-ddl: true
hibernate:
ddl-auto: create
database: postgresql
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52547 次 |
| 最近记录: |