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

Sam*_*Sam 7 java connection-string jdbc h2

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

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

D:\projects\myproject\data\project
Run Code Online (Sandbox Code Playgroud)

如何为此定义连接 url?

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

project.db.url = jdbc:h2:tcp://localhost\\\\D:\\projects\\myproject\\data\\project
Run Code Online (Sandbox Code Playgroud)

然后我想可能是 JDBC URL 的问题,所以我尝试了:

project.db.url = jdbc:h2:tcp:\\\\localhost\\\\D:\\projects\\myproject\\data\\project
Run Code Online (Sandbox Code Playgroud)

小智 9

更改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=
Run Code Online (Sandbox Code Playgroud)

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

jdbc:h2:mem:testdb
Run Code Online (Sandbox Code Playgroud)


Rav*_*avi 5

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

jdbc:h2:~/test  
Run Code Online (Sandbox Code Playgroud)

并且,对于 TCP 连接

jdbc:h2:tcp://localhost/~/test  
Run Code Online (Sandbox Code Playgroud)

==更新==

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

 jdbc:h2:tcp://localhost/<path_to_database>
Run Code Online (Sandbox Code Playgroud)

这意味着,

jdbc:h2:tcp://localhost/D:/myproject/data/project-name
Run Code Online (Sandbox Code Playgroud)

感谢@Sam 分享信息。