我是嵌入式數據庫概念的新手,並選擇HSQLDB作爲我的Java應用程序的嵌入式數據庫。我想我根本不理解的東西:沒有在任何地方我看到如何/在哪裏:初始化HSQLDB實例,然後在應用程序中使用
- 定義必須用於連接到數據庫
- 創建一個新的數據庫的用戶名/密碼憑證(e..g ,
db_myapp
) - 爲新的數據庫
對於非嵌入式(「正常」)DB創建表,我會首先使用DB客戶端連接到數據庫,並CREATE
的db_myapp
DB以及作爲它應該有的任何表格。我的應用程序然後期望這些表在運行時存在。
但是對於HSQLDB,我沒有這樣的數據庫服務器來連接,所以我沒有看到我的應用程序在運行之前如何/在哪裏創建這些數據庫/表/憑證。
也許這正是「嵌入式」DB所做的;也許它是嵌入JDBC驅動程序中的整個數據庫?無論如何,我仍然需要一種方法來完成上面列出的三件事。
我唯一能想到的就是每次啓動應用程序時都運行一些初始化代碼。這段代碼會檢查這些結構的存在,如果它們不存在,那麼它會創建它們。
這裏有幾個問題:
- 這種做法可能與數據庫和表工作,但沒有證書,我需要在JDBC
Connection
本身。我如何/在哪裏創建這些? - 我甚至不確定這是使用嵌入式HSQLDB的正確方法嗎?有人可以確認我正在跟蹤(也就是說,「檢查 - 看看,如果它存在和如果沒有,然後創建」的方法)?
- 如果我意外地執行了代碼,當它已經存在時嘗試創建新的數據庫/表格前夕,會發生什麼情況? HSQLDB會忽略它還是會吹掉我現有的DB /表?