H2数据库的JDBC连接字符串是什么?

9
我正在尝试连接本地的h2数据库以创建一个SQL数据源对象。我使用Windows操作系统,但在我的项目app.properties文件中定义数据文件路径时遇到了一些问题。
假设本地目录数据文件的路径是:
D:\projects\myproject\data\project

如何定义连接 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
3个回答

12

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

6
根据文档,默认的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 分享信息。

嗨,那确实可以,谢谢。但它会在我的主文件夹中创建text.db.mv文件。理想情况下,我希望它能在我的项目内的一个文件中 - 比如\myproject\data\project中。 - Sam
要将文件保存在相对于项目的文件夹中,可以使用以下代码:jdbc:h2:./data/ - rafd

2

如果您正在使用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"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接