spring引导配置中的内存数据库工作正常,代码如下。但是这个url没有从yaml配置中获取。尽管h2控制台已启用
在日志中,url正在打印为内存数据库。
如何将jdbc url从内存更改为文件。
日志文件
2020-09-03 14:22:42.595[rmi tcp connection(2)-10.44.33.51]调试o.s.jdbc.datasource.datasourceutils-从数据源获取jdbc连接
2020-09-03 14:22:42.595[rmi tcp连接(2)-10.44.33.51]调试o.s.j.d.simpledriverdatasource-创建新的jdbc驱动程序连接到[jdbc:h2:mem:testdb;模式=oracle;db\u close\u delay=-1;db\u close\u on\u exit=false]
@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
1条答案
按热度按时间mpgws1up1#
不定义
dataSource
豆子。配置datasource
通过属性文件。如果你想执行DDL
和/或DML
sql脚本当应用程序启动时,您可以执行以下操作:默认情况下,spring引导查找文件
schema.sql
以及data.sql
在应用程序类路径的根目录中(例如。src/main/resources/schema.sql
)但可以在属性中重写此行为spiring.datasource.schema
以及spring.datasource.data
就像上面的代码示例一样。