捕風之巢

          統計

          留言簿(3)

          java友情鏈接

          閱讀排行榜

          評論排行榜

          Hsql使用

          前言:該文章只是簡單介紹一下hsql的入門內容,如果想仔細了解的話,參考官方幫助文檔最為有用。

          一、簡介:
          hsql 數據庫是一款純Java編寫的免費數據庫,許可是BSD-style的協議,如果你是使用Java編程的話,不凡考慮一下使用它,相對其他數據庫來說,其體積小,才563kb。僅一個hsqldb.jar文件就包括了數據庫引擎,數據庫驅動,還有其他用戶界面操作等內容。在Java開源世界里,hsql是極為受歡迎的(就Java本身來說),JBoss應用程序服務器默認也提供了這個數據庫引擎。由于其體積小的原因,又是純Java設計,又支持 SQL99,SQL2003大部分的標準,所以也是作為商業應用程序展示的一種選擇。請到以下地址下載hsql: http://prdownloads.sourceforge.net/hsqldb/hsqldb_1_7_3_3.zip?download

          二、使用hsql數據庫:
          1、hsql數據庫引擎有幾種服務器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-Only數據庫。
          2、最為常用的Server模式:
          1)首先卻換到lib文件夾下,運行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
          執行命令后,將會在db文件夾下創建一個數據庫mydb,別名(用于訪問數據庫)是xdb,如果存在mydb數據庫,將會打開它。
          2)運行數據庫界面操作工具:java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
          在Type 選項里選上相應的服務器模式,這里選擇HSQL Database Engine Server模式;Driver不用修改;URL修改為jdbc:hsqldb:hsql://localhost/xdb (主要這里xdb就是上面我們設置的別名);user里設置用戶名,第一次登錄時,設置的是管理員的用戶名,password設置密碼。然后點擊Ok。
          3)第一次運行數據庫引擎,創建數據庫完畢。好了,你可以打開db文件夾,會發現里面多了幾個文件。
          mydb.properties文件:是關于數據庫的屬性文件。
          mydb.script:hsql主要保存的表(這里按hsql的說法是Memory表,就是最為常用的),里面的格式都是文本格式,可以用文本查看,里面的語句都是sql語句,熟悉sql語句的話,你也可以手動修改它。每次運行數據庫引擎的話都是從這里加載進內存的。
          mydb.lck表示數據庫處于打開狀態。
          其他的請參看hsqldb包里的手冊。

          3、WebServer模式和Server運行模式基本一樣,只是支持了Http等協議,主要用于防火墻,默認端口是9001。啟動Server,java -cp hsqldb.jar org.hsqldb.WebServer ...剩余的和上面的一致。

          4、Servlet模式可以允許你通過Servlet容器來訪問數據庫,請查看hsqlServlet.java的源代碼,和WebServer類似。

          5、另一個值得思考的模式是Standalone模式:不能通過網絡來訪問數據庫,主要是在一個JVM中使用,那樣的話,訪問的速度會更加快。雖然文檔里面提到主要是用于開發時使用,但是我們可以假設一下,該方法不需要一個引擎類的東西,而類似于打開文件的方式,返回一個Connection對象:
          Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
          將會在當前目錄找到mydb數據庫相關文件,打開并返回一個Connection對象。該方式有點好處就是可以不使用引擎,在需要的時候操作數據。所以那些對數據庫不是特別有要求的,但又需要一個操作數據庫的方式的話,可以使用這種方法。對于那些不想額外在數據庫引擎花費金錢的話,可以使用這種方法。但是不推薦使用該方法。記得Hibernate里SessionFactory可以使用openSession(Connecttion c)來獲得一個Session對象的,因此,在測試或者實際應用的話都可以這樣使用。

          6、Memory-Only 數據庫:顧名思義,主要是內存中使用,不用于保存數據。可以用于在內存中交換數據。

          三、具體的鏈接與操作的話,和一般的JDBC操作一樣。而相應的Server模式的話,連接地址主要你運行數據庫界面操作工具時,在URL一欄時默認已經設好了,自己實習一下,對比其中參數。

          這篇文章介紹大致內容很詳細,不過也大都是從Hsql的幫助上翻譯的,我有必要加入點新鮮的血液。
          這篇文章美中不足的是缺少實戰性,往往初學者第一步都走不出來,比如我。
          我在實踐中遇到的問題是打開數據庫管理器怎么也連接不上數據庫,總是說
          java.sql.sqlException Socket create error
          搞了一個晚上,到第二天早上清醒一下,想起來這個數據庫應該在創建庫之后,保持那個cmd窗口,在此過程中連接。
          果然好用,也邁出了開拓Hsql的第一步。

          另外不用在互聯網上搜索別的介紹,Hsql自帶的guide就已經很詳細了。



          Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=472441

          [點擊此處收藏本文]?? whoopee發表于 2005年09月06日 10:54:00

          相關文章:

          posted on 2006-10-16 15:10 捕風 閱讀(1904) 評論(0)  編輯  收藏 所屬分類: 數據庫技術

          主站蜘蛛池模板: 昌宁县| 邢台县| 郯城县| 临沂市| 永福县| 盐源县| 柳林县| 永吉县| 三门峡市| 建水县| 清镇市| 贵定县| 泸溪县| 油尖旺区| 平塘县| 登封市| 乌拉特后旗| 临颍县| 白山市| 郁南县| 海林市| 扎囊县| 新郑市| 五指山市| 大丰市| 北流市| 凯里市| 故城县| 巴林左旗| 普安县| 临沧市| 陈巴尔虎旗| 桑植县| 冕宁县| 卓尼县| 高台县| 当雄县| 汕尾市| 阳朔县| 宜都市| 唐海县|