gpt4 book ai didi

java - 使用 HSQLDB 作为 Spring、Hibernate 的可移植数据库

转载 作者:行者123 更新时间:2023-12-01 10:06:51 25 4
gpt4 key购买 nike

我是 hsqldb 的新手。在项目中,我使用 Spring 4Hibernate 5HSQLDB

我有一些特定的任务,我正在尝试使用 HSQLDB 作为可移植数据库,可以将其传输到闪存驱动器或另一台计算机。

我已经有一个包含所有表和基本所需数据的 SQL 脚本。我有四个问题一直困扰着我。(如果这些问题非常愚蠢,我提前表示抱歉):

  1. 我需要使脚本在程序的第一次启动时运行,并且在其他启动中它必须检查数据库是否已经存在并且(如果已经存在)仅更新其中的数据。 (该程序将在许多计算机上使用,并且必须在首次启动后创建数据库)。我怎样才能做到这一点?是否可以?您能否就如何做到这一点提供一些基本建议或示例?

  2. 我正在尝试查找有关将所有数据库信息保存在文件系统中某个文件中的信息。您能否给我一些有关将 hsqldb 数据保存在文件中以及如何在下次启动后使用此文件的有效示例。

  3. 我可以将此文件放入我的 project.jar 文件中并使用其中的所有数据来更新它等吗? ?

  4. 使我的数据库可移植(针对特定任务)的最佳实践是什么?我应该将其保存在哪里?在文件中,在我的项目 jar.e.t.c. 中?

预先感谢您的回答!

最佳答案

对于数据存储,您使用文件:数据库。 JDBC 连接 URL 的格式为 jdbc:hsqldb:file:<file path> 。 HSQLDB会将所有数据保存到文件中。

连接到数据库后,您将在脚本中一一执行 SQL 语句。如果表已存在,则 CREATE TABLE语句抛出错误。这表明您不必执行它们。

因为何时保留现有数据以及何时根据数据库现有内容更新数据取决于您,因此您可以执行一些 SQL 语句来决定。没有自动方法可以做到这一点。

您可以将 HSQLDB 数据库放入 jar 中,但无法更新。 jar 是只读的。

数据库是完全可移植的。您可以使用 ~ 将它们放置在用户主目录的子目录中。象征。请参阅http://hsqldb.org/doc/2.0/guide/dbproperties-chapt.html#dpc_variables_url以及本页其余部分的详细信息。

关于java - 使用 HSQLDB 作为 Spring、Hibernate 的可移植数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36384367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com