HSQLDB是一個(gè)開(kāi)源的純Java嵌入式關(guān)系數據庫管理系統,小巧方便,具有標準的SQL語(yǔ)法和Java接口,可以作為內存數據庫、獨立數據庫和C/S數據庫,支持索引、事務(wù)處理、Java存儲過(guò)程、完整性引用和約束等功能。
本章介紹Eclipse環(huán)境下的HSQLDB數據庫應用開(kāi)發(fā),包括HSQLDB數據庫的安裝和配置、SqlExplorer數據庫插件的安裝和配置、常見(jiàn)數據庫操作的封裝,最后通過(guò)學(xué)生成績(jì)管理系統介紹了基于HSQLDB進(jìn)行數據庫應用開(kāi)發(fā)的具體步驟。
1 HSQLDB數據庫的使用
1.1 下載并安裝HSQLDB數據庫
在使用HSQLDB數據庫之前,本小節首先介紹HSQLDB數據庫的下載和安裝。與大多數Java應用程序一樣,只需解壓縮安裝包即可完成HSQLDB數據庫的安裝。
跟我做
(1)登錄HSQLDB的官方網(wǎng)站http://www.hsqldb.org,下載HSQLDB數據庫的安裝包hsqldb_1_8_0_x.zip。
(2)將下載的安裝包解壓縮到設定的安裝目錄,如d:\hsqldb。
(3)將D:\hsqldb\lib目錄下的hsqldb.jar文件加入到CLASSPATH環(huán)境變量中,HSQLDB安裝完畢。安裝后其目錄結構如圖1所示。

圖1 HSQLDB數據庫的目錄結構
注意:設置CLASSPATH環(huán)境變量,所有的HSQLDB組件如數據庫引擎、服務(wù)器進(jìn)程、JDBC驅動(dòng)程序、文檔以及一些實(shí)用工具都放在hsqldb.jar文件中。
1.2 使用Memory模式運行HSQLDB
下面介紹HSQLDB的幾種運行模式。
● 獨立服務(wù)器模式:類(lèi)似于其他關(guān)系數據庫的標準客戶(hù)機/服務(wù)器數據庫配置,允許出現使用TCP 套接字的并發(fā)連接。
● 獨立Web服務(wù)器模式:作為Web服務(wù)器通過(guò)HTTP接受SQL查詢(xún),也能作為任何標準Web容器中的Servlet來(lái)運行。由于HTTP是無(wú)狀態(tài)的,所以本模式中不存在事務(wù)。
● 單機模式:是許多嵌入式應用程序的首選模式,該模式下應用程序使用JDBC創(chuàng )建一個(gè)數據庫連接,HSQLDB引擎也運行在該應用程序中。
● Memory模式:所有數據庫表和索引都放在內存中,數據不進(jìn)行外存儲,沒(méi)有持久性。
本小節將以Memory模式為例,介紹如何基于HSQLDB數據庫進(jìn)行應用的開(kāi)發(fā)。
跟我做
(1)啟動(dòng)Eclipse,創(chuàng )建名字為hsqldbdemo的Java工程,并創(chuàng )建Java類(lèi)MemoryDB.java。
注意:切記將hsqldb.jar加到工程的構建路徑上。
(2)編輯MemoryDB.java文件。輸入如下代碼:
try {
//加載HSQLDB數據庫JDBC驅動(dòng)
Class.forName("org.hsqldb.jdbcDriver");
//在內存中建立臨時(shí)數據庫score,用戶(hù)名為sa,密碼為空
Connection connect = DriverManager.getConnection("jdbc:hsqldb:mem:score", "sa", "");
System.out.println(“在此行上設置一個(gè)斷點(diǎn)”);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
在內存中建立臨時(shí)數據庫“score”,用戶(hù)名為“sa”,密碼為空。上述程序片斷是典型的通過(guò)JDBC連接數據庫的方法,其中數據庫URL“jdbc:hsqldb:mem:score”中的“mem”部分定義了HSQLDB數據庫工作在Memory模式下。一旦跟數據庫的連接建立后,數據庫引擎就啟動(dòng)起來(lái)了,接下來(lái)即可創(chuàng )建Table表。

