繁体   English   中英

Spring Boot:配置 h2 jdbc url

[英]Spring Boot: Configure h2 jdbc url

spring boot 配置中的内存数据库工作正常,代码如下。 但是 url 不是从YAML配置中提取的。 虽然启用了h2 控制台

在日志中,url 打印为内存数据库。

  1. 如何将 jdbc 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.sqldata.sql在应用程序的类路径的根(例如src/main/resources/schema.sql ),但你可以覆盖性能这一行为spiring.datasource.schemaspring.datasource.data就像上面的代码示例一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM