我是嵌入式数据库概念的新手,并选择HSQLDB作为我的Java应用程序的嵌入式数据库。我想我根本不理解的东西:没有在任何地方我看到如何/在哪里:初始化HSQLDB实例,然后在应用程序中使用
- 定义必须用于连接到数据库
- 创建一个新的数据库的用户名/密码凭证(e..g ,
db_myapp
) - 为新的数据库
对于非嵌入式(“正常”)DB创建表,我会首先使用DB客户端连接到数据库,并CREATE
的db_myapp
DB以及作为它应该有的任何表格。我的应用程序然后期望这些表在运行时存在。
但是对于HSQLDB,我没有这样的数据库服务器来连接,所以我没有看到我的应用程序在运行之前如何/在哪里创建这些数据库/表/凭证。
也许这正是“嵌入式”DB所做的;也许它是嵌入JDBC驱动程序中的整个数据库?无论如何,我仍然需要一种方法来完成上面列出的三件事。
我唯一能想到的就是每次启动应用程序时都运行一些初始化代码。这段代码会检查这些结构的存在,如果它们不存在,那么它会创建它们。
这里有几个问题:
- 这种做法可能与数据库和表工作,但没有证书,我需要在JDBC
Connection
本身。我如何/在哪里创建这些? - 我甚至不确定这是使用嵌入式HSQLDB的正确方法吗?有人可以确认我正在跟踪(也就是说,“检查 - 看看,如果它存在和如果没有,然后创建”的方法)?
- 如果我意外地执行了代码,当它已经存在时尝试创建新的数据库/表格前夕,会发生什么情况? HSQLDB会忽略它还是会吹掉我现有的DB /表?