h2 数据库的 jdbc 连接字符串是什么



我正在尝试连接到本地计算机上的 h2 数据库以创建 sql 数据源对象。我正在运行 Windows,在我的项目 app.properties 文件中定义数据文件的路径时遇到了一些问题。

假设本地目录数据文件的路径为:

D:projectsmyprojectdataproject

如何为此定义连接 URL?

我已经尝试了很多事情,包括以下内容:

project.db.url = jdbc:h2:tcp://localhost\\D:\projects\myproject\data\project

然后我想也许是JDBC URL是问题所在,所以我尝试了:

project.db.url = jdbc:h2:tcp:\\localhost\\D:\projects\myproject\data\project

application.properties更改为以下内容:

spring.jpa.open-in-view=true
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

将 H2 控制台设置为以下内容:

jdbc:h2:mem:testdb

根据文档,默认JDBC连接字符串为

jdbc:h2:~/test  

并且,对于TCP连接

jdbc:h2:tcp://localhost/~/test  

==更新==

但是,如果您想在特定文件夹中创建/读取 h2 数据库,那么它应该是

 jdbc:h2:tcp://localhost/<path_to_database>

这意味着,

jdbc:h2:tcp://localhost/D:/myproject/data/project-name

感谢@Sam分享信息。

如果您使用的是 Spring Boot 并且不想更改默认名称,则可以查找此日志语句并从那里复制 JDBC 连接信息:

2021-08-31 20:27:13.295  INFO 12032 --- [  restartedMain] o.s.b.a.h2.H2ConsoleAutoConfiguration    : H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:4c0a3d2c-9aab-4c06-ab22-da777660ab4a'

因此,在此示例中,连接字符串为">jdbc:h2:mem:4c0a3d2c-9aab-4c06-ab22-da777660ab4a">

最新更新