[英]Spring Boot: Configure h2 jdbc url
spring boot 配置中的内存数据库工作正常,代码如下。 但是 url 不是从YAML配置中提取的。 虽然启用了h2 控制台
在日志中,url 打印为内存数据库。
日志文件
2020-09-03 14:22:42.595 [RMI TCP Connection(2)-10.44.33.51] DEBUG osjdbc.datasource.DataSourceUtils - 从数据源获取 JDBC 连接
2020-09-03 14:22:42.595 [RMI TCP Connection(2)-10.44.33.51] DEBUG osjdSimpleDriverDataSource - 创建新的 JDBC 驱动程序连接到 [jdbc:h2:mem:testdb;MODE=Oracle;DB_CLOSE_DBEX_CLITOSE_1; =假]
@Configuration
public class DataSourceConfiguration {
@Bean
@Primary
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.setName("testdb;MODE=Oracle")
.addScript("classpath:sql/Create-table.sql")
.build();
}
}
YAML 配置
spring:
h2:
console:
enabled: true
path: /h2
datasource:
url: jdbc:h2:file:C:/db/test
username: test
password: password
driverClassName: org.h2.Driver
不要定义dataSource
bean。 通过属性文件配置datasource
。 如果您想在应用程序启动时执行DDL
和/或DML
sql 脚本,您可以执行以下操作:
spring:
datasource:
url: jdbc:h2:file:C:/db/test
username: test
password: password
schema: classpath:sql/Create-table.sql
data: classpath:sql/fill-table.sql
默认情况下,春季启动寻找文件schema.sql
和data.sql
在应用程序的类路径的根(例如src/main/resources/schema.sql
),但你可以覆盖性能这一行为spiring.datasource.schema
和spring.datasource.data
就像上面的代码示例一样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.