H2数据库存储在哪里?
Posted
技术标签:
【中文标题】H2数据库存储在哪里?【英文标题】:Where is the H2 database stored? 【发布时间】:2015-02-16 16:17:44 【问题描述】:我正在尝试将H2
数据库与Java
一起使用。我似乎无法找出数据写入的位置。
我提供的数据库 URL 是:jdbc:h2:/db/bh
。
我正在使用Java
连接数据库,如下所示:dbObj.setDBConnection(DriverManager.getConnection(hObj.getDBUrl(), hObj.getDBUsername(), hObj.getDBPassword()));
上面给出了 DB URL。
用户名:sa
密码:(空)。
我正在以下文件夹中运行jar
:C:\work\sampleH2\sampleH2.jar
我对H2的FAQ部分的理解是说数据库bh
会在文件夹sampleH2
的文件夹db/
中找到。但事实并非如此。我在哪里可以找到它?
【问题讨论】:
默认情况下,h2 在内存中运行。 没有“默认”,JDBC url 决定它是在磁盘上创建还是在内存中创建。根据该 url (/db/bh) 中的路径判断,它将在 Windows 系统上的 c:\db\bh 中创建。 @Gimby:感谢您的回复。你是对的。如何确保 db 存储在我运行 jar 的路径的 db 文件夹中:C:\work\sampleH2\db\bh? 【参考方案1】:根据http://www.h2database.com/html/cheatSheet.html有区别存放在:
相对路径(当前目录下的某处):jdbc:h2:test 绝对路径(在根目录下):jdbc:h2:/data/test所以我会在您指定的路径下的主驱动器(可能是 c:) 上查找它
【讨论】:
感谢您的回复。我尝试将 url 更改为“db/bh”,但没有效果。 另外,在您链接到的文档中,当前工作目录被指定为“当前(!)工作目录”。为什么是感叹号?以及如何识别当前工作目录? 我猜它是您的 java 应用程序的当前工作目录。更多详情:en.wikipedia.org/wiki/Working_directory 和 ***.com/questions/4871051/…以上是关于H2数据库存储在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
将图片存储在H2数据库spring boot thymeleaf中