【发布时间】:2014-10-29 16:57:00
【问题描述】:
我对嵌入式数据库的概念是全新的,并选择HSQLDB 作为我的 Java 应用程序的嵌入式数据库。我认为我从根本上不理解某些东西:我看不到如何/在哪里:
- 定义必须用于连接数据库的用户名/密码凭据
- 创建新数据库(例如,
db_myapp) - 为该新数据库创建表
对于非嵌入式(“普通”)数据库,我将首先使用数据库客户端连接到数据库,CREATEdb_myapp 数据库以及它应该具有的任何表。然后,我的应用会期望这些表在运行时存在。
但使用 HSQLDB,我没有可连接的数据库服务器,因此在我的应用程序运行之前,我看不到如何/在哪里可以提前创建这些数据库/表/凭据。
也许这正是“嵌入式”数据库所做的;也许它是嵌入在 JDBC 驱动程序中的整个 DB? 无论如何,我仍然需要一种方法来完成上面列出的 3 件事。
我唯一能想到的就是每次我的应用启动时运行一些初始化代码。此代码将检查这些构造是否存在,如果它们不存在,则会创建它们。
这里有几个问题:
- 这种方法可能适用于数据库和表,但不适用于 JDBC
Connection本身所需的凭据。如何/在哪里创建这些? - 我什至不确定这是否是使用嵌入式 HSQLDB 的正确/正常方法;有人可以确认我的工作进展顺利(即“check-to-see-if-it-exists-and-if-not-then-create”方法)吗?
- 如果我不小心执行了尝试创建新数据库/表前夕的代码,当它已经存在时会发生什么? HSQLDB 会忽略它还是会破坏我现有的数据库/表?
【问题讨论】:
标签: java hsqldb embedded-database