<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Vincent Thinking

    All about Vincent's work and life

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      34 隨筆 :: 0 文章 :: 183 評論 :: 0 Trackbacks

                                                                         HSQLDB簡介 
                                                                         

    Vincent 2006年2月24日
     
    一 什么是HSQLDB? 
            HSQLDB是一個用java編寫的關系型數據庫,它支持ANSI-92 SQL (BNF tree format) plus SQL 99 and 2003 enhancements. 它提供了一個非常小而快速的數據庫引擎,同時提供了相關的JDBC驅動和一些實用的工具。
     
             最新的HSQLDB版本為1.8.0 ,經過了1年的開發,和1.7.2相比,1.8.0的功能更加強大, 對數據庫的容量支持達到了8GB,性能也更加出色。和當年相比,HSQLDB已經不僅僅很多人眼里的玩具,完全可以勝任商業的需求。(OpenOffice.org 2.0的數據庫引擎為HSQLDB1.8.0)
     
    這里有一張數據庫的performance test對比圖(HSQLDB的性能遠遠超過其他的數據庫)
     


    二 HSQLDB介紹

     1.1 簡介


    hsqldb.jar 包含所有的組件(數據庫引擎,jdbc驅動, 數據工具), 不同的命令用來執行不同的組件。
    hsqldb.jar主要包含了一下組件: 

    HSQLDB RDBMS                數據庫引擎
    HSQLDB JDBC Driver          JDBC驅動
    Database Manager            管理工具
    Query Tool (AWT)            查詢工具
    Sql Tool (command line)     SQL工具


    1.2 運行工具(Running Tools) 

          所有的工具都以jar的方式來運行,下面的例子講運行AWT方式的DataBase Manager,我們假設hsqldb.jar位于../lib目錄中

     java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager 

    Hsqldb工具的主類:

    org.hsqldb.util.DatabaseManager 
    org.hsqldb.util.DatabaseManagerSwing
    org.hsqldb.util.Transfer
    org.hsqldb.util.QueryTool 
    org.hsqldb.util.SqlTool 

    其中,DatabaseManager和SqlTool都可以有命令行參數,你可以用-?來察看它們有什么參數。DatabaseManager和Transfer都有圖形界面可以更好地交互。
     
    1.3 運行HSQLDB
     
    HSQLDB可以通過多種不同的方式來運行,通常把它分為Server模式和In-Process模式(也叫做Standalone模式),對于每種模式,Jar中都有相應的子程序來運行HSQLDB。
     
    每個HSQLDB數據庫包含2到5個命名相同但擴展名不同的文件組成,他們位于同一個目錄下。例如,名為“test”的數據庫包含了以下幾個文件: 

    test.properties
    test.script
    test.log 
    test.dat 
    test.backup

    properties文件包含了數據庫的基本配置,script文件包含了Table的定義和其他相關的數據對象,以及non-cached表的數據。log文件記錄了數據庫最近所做的更新。dat文件包含了cached表的數據,backup文件是上一次數據庫持久化后的壓縮備份文件,所有的這些文件都是最基本的,絕對不能刪除。如果你的數據庫沒有緩沖表(cached table),test.data和test.backup文件是不會存在。此外,HSQLDB數據庫可以鏈接到磁盤上任何地方任何格式的文本文件,比如CSV 列表。
     
    當"test"數據庫正在運行時,test.log文件用來記錄所有的操作記錄,"test.log"文件將在數據庫正常關閉(ShutDown)情況下自動刪除。否則(在非正常退出的時候),它將用來在下次啟動HSQLDB時恢復"test.log"中記錄的更新操作。"test.lck"文件也可以用來記錄數據庫是否被打開,它在HSQLDB正常退出的時候會被移除。有些情況下,HSQLDB會生成"test.data.old "文件,但隨后會被刪除掉。

    注意: 當HSQLDB引擎關閉數據庫的時候,它會產生擴展名為.new的臨時文件,然后會把這些文件重命名為上面所列出的文件的名稱。

    posted on 2006-02-24 19:55 Vincent Thinking 閱讀(1943) 評論(1)  編輯  收藏 所屬分類: JAVA

    評論

    # re: HSQLDB(一) 2006-11-28 18:43 chenliguo
    chenliguo@bj.xinwei.com.cn

    我用iBatis操作hsqldb,采用獨占訪問文件數據庫的方式,表類型為cached;但是插入操作不能保存數據,必須關閉shutdown,如程序終止,沒有顯示執行shutdown則數據丟失;什么原因?  回復  更多評論
      

    主站蜘蛛池模板: 特级毛片A级毛片100免费播放| 亚洲欧洲国产经精品香蕉网| 国产成人毛片亚洲精品| 亚洲熟妇无码乱子AV电影| 亚洲高清视频免费| 亚洲人成网亚洲欧洲无码| ww在线观视频免费观看w| 最好看最新的中文字幕免费| 丁香花免费完整高清观看| 亚洲国产午夜中文字幕精品黄网站 | 精品亚洲成a人在线观看| 中文字字幕在线高清免费电影| 18禁无遮挡无码国产免费网站| 在线观着免费观看国产黄| 亚洲精品高清无码视频| 亚洲AV成人一区二区三区观看| 亚欧日韩毛片在线看免费网站| 成人在线免费观看| 亚洲男同帅GAY片在线观看| 日韩免费高清播放器| 永久免费看mv网站入口| 亚洲视频在线免费看| 成人AV免费网址在线观看| 亚洲高清国产拍精品熟女| 无码日韩精品一区二区免费| 亚洲精品无码专区在线播放| 亚洲国产成人精品无码久久久久久综合| 亚洲国产精品线观看不卡| 国产精品美女午夜爽爽爽免费| 亚洲一区中文字幕久久| 国产美女视频免费观看的网站| 国产精品四虎在线观看免费| 亚洲一级二级三级不卡| 免费无码AV片在线观看软件| 一级毛片免费一级直接观看| 2022年亚洲午夜一区二区福利| 日本v片免费一区二区三区| a级毛片免费在线观看| 国产精品亚洲αv天堂无码| 人妻无码久久一区二区三区免费| 亚洲AV电影院在线观看|