Java Opensources for Web Development Part I:Chapter 2 Java Opensource Database
Lession 8 : 輕巧的資料庫 Hypersonic SQL
◎ 前言
在第一章的部份,我針對了幾個應用在 JavaEE 比較常用的工具類軟體先做了介紹,讓我們繼續了解,當我們在一個完整的企業端應用,往往除了應用程式之外,還需要利用資料庫來配合。關於商業型的關聯資料 庫有很多,如著名的 Oracle、DB2、Sybase、MS SQL Server 等等,也有 Opensource 為代表的 MySQL。然而,在 Java 的領域中,可以使用 JDBC 連結各式的資料庫,但是,有以純 Java 撰寫出來的資料庫嗎、或是管理介面、以及聯結的方式嗎? 答案當然是有的,所以我會針對常見的 Java Opensources Database 以及相關工具來做介紹。
◎ Hypersonic SQL 介紹如果常在學習 Java Opensources 的人,對於 Hypersonic SQL 應該不會感到陌生,因為很多系統會把 Hypersonic SQL 取代微軟的 Access 作為示範性的資料庫來展示相關功能。他的官方網站是 https://www.hsqldb.org/ ,相關的使用手冊可以參考 https://hsqldb.org/doc/guide/index.html 。
主要來說,當你下載了 hsqldb 的壓縮檔,裡面已經包含了:
因為 Hsqldb 的存取需要大量的記憶體空間才能運作,當資料量過大的時候,就非常不建議採用 HsqlDB 來處理,所以我就不介紹將 hsqldb 運用在多人存取的 Server 模式,通常我們會設計為單機版的檔案型資料庫運用。
另外在 Database Manager 之中有一個 Test Script
-->>>TEST<<<-- ;
--#1000;
DROP TABLE Test IF EXISTS;
CREATE TABLE Test(
Id INTEGER PRIMARY KEY,
FirstName VARCHAR(20),
Name VARCHAR(50),
ZIP INTEGER) ;
INSERT INTO Test VALUES(#,'Julia','Peterson-Clancy',#) ;
UPDATE Test SET Name='Hans' WHERE Id=# ;
SELECT * FROM Test WHERE Id=# ;
DELETE FROM Test WHERE Id=# ;
DROP TABLE Test IF EXISTS;
這是建立資料庫,插入 1000 筆資料,到修改刪除以及卸除資料庫的一個測試,我們可以看到,相關的設計方式就是參照標準的 SQL92 (1.8 的版本已經支援到 SQL99 , 2003 ) 的設計,我們無需另外學習新的語法就可以操控該資料庫了。
在程式中,我們就利用 Class.forName(‘org.hsqldb.jdbcDriver”); 設計相關的 JDBC Driver , 另外採用 Connection conn = DriverManager.getConnection(“jdbc:hsqldb:file:mytestdb”) 的 URL 來建立相關聯結。
未來在這章會談到有關 Connection Pooling 的機制。我們再來研究該如何解決資料庫連線最優化的方式。