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

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

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

    posts - 18, comments - 15, trackbacks - 0, articles - 0

    開源數據庫軟件hsqldb - 100% Java Database

    Posted on 2006-10-17 17:41 百花島主 閱讀(948) 評論(0)  編輯  收藏 所屬分類: 開源軟件
    轉載:http://www.5ai7.net/viewtopic.php?t=5

    一、簡介:
    hsql數據庫是一款純Java編寫的免費數據庫,許可是BSD-style的協議。
    相對其他數據庫來說,其體積小,才3276605bytes。
    僅一個hsqldb.jar文件就包括了數據庫引擎,數據庫驅動,還有其他用戶界面操作等內容。
    最新版本是hsqldb_1_8_0_7 ,下載地址:http://hsqldb.org/

    二、使用hsql數據庫:
    1、hsql數據庫引擎有幾種服務器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-On&shy;ly數據庫。

    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表,就是最為常用的),里面的格式都是文本格式,可以用文本查看,里面的語&shy;句都是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中使用,那樣的話,訪問的速度會更加快。雖然文檔里面提到&shy;主要是用于開發時使用,但是我們可以假設一下,該方法不需要一個引擎類的東西,而類似于打開文件的方式,返回一個Connection對象:
    Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
    將會在當前目錄找到mydb數據庫相關文件,打開并返回一個Connection對象。該方式有點好處就是可以不使用引擎,在需要的時候操作數據。所以那些對數據庫不是特別有要求的,但又需要一個操作數據庫的方式的話,可以使用這種方法。對于那些不想額外在數據庫引擎花費金錢的話,可以使用這種方法。但是不推薦使用該方法。記得Hibernate里SessionFactory可以使用openSession(Connecttion c)來獲得一個Session對象的,因此,在測試或者實際應用的話都可以這樣使用。

    6、Memory-Only 數據庫:顧名思義,主要是內存中使用,不用于保存數據??梢杂糜谠趦却嬷薪粨Q數據。

    上面是關于hsqldb的一些基本信息的介紹,可以看到它的一些優勢和特性。
    我們可以把hsqldb內置在web程序中,除考慮Standalone模式外,最好是采用最為常用的Server模式。
    那么Server模式如何和web程序合理搭配使用呢。
    可以采用兩種方式:
    1)采用上面提到的方法,運行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
    來啟動db,通過設置的URL:jdbc:hsqldb:hsql://localhost/xdb 以達到在程序中訪問hsql數據庫的
    (注:設置URL等信息,可以通過hibernate來配置,例如:
    hibernate.dialect org.hibernate.dialect.HSQLDialect
    hibernate.connection.driver_class org.hsqldb.jdbcDriver
    hibernate.connection.username sa
    hibernate.connection.password
    hibernate.connection.url jdbc:hsqldb:hsql://localhost/xdb )
    2)為了省去第一種方法的瑣碎,可以在啟動web容器的過程中同時啟動hsqldb。具體做法如下:編寫一個有關hsql的Listener類,擴展javax&shy;.servlet.ServletContextListener,可以在配置文件中設置dbPath、dbName、port等等hsqldb的信息,啟動h&shy;sqldb。
    在web.xml中配置
    <listener>
    <listener-class>com.iplan.portal.framework.web.HsqlListener</listener-class&shy;>
    </listener>

    這樣在啟動web容器的時候,同時啟動了hsqldb,關閉容器的時候同時也shutdown掉hsqldb。

    還有一點說明的是:在單體或是結合測試的時候,可以采用Memory-Only
    數據庫,這樣可以保證原有數據庫中數據的完整性,這也是比較好的一個功能。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲无吗在线视频| 亚洲人成网站影音先锋播放| 亚洲AV无码一区二区三区人 | 久久久久久亚洲精品不卡| 日韩欧美亚洲中文乱码| 香蕉高清免费永久在线视频| 亚洲欧美综合精品成人导航| 国产成人在线观看免费网站| 国产成人亚洲精品电影| 亚洲AV无码乱码精品国产| 人人公开免费超级碰碰碰视频| 亚洲伊人久久综合影院| 久久WWW免费人成—看片| 亚洲国产精品无码久久久秋霞2| 久草福利资源网站免费| 亚洲精品中文字幕无乱码| 野花高清在线电影观看免费视频 | 成人毛片视频免费网站观看| 欧美亚洲精品一区二区| 亚洲A丁香五香天堂网 | 最近高清中文字幕无吗免费看| 国产精品亚洲专区在线观看 | 亚洲国产人成精品| 在线观看特色大片免费网站| 亚洲欧洲精品在线| 国产成人免费a在线视频app| 成人免费无码H在线观看不卡| 综合自拍亚洲综合图不卡区| 免费无码又爽又刺激高潮的视频| 九一在线完整视频免费观看| 久久亚洲精品中文字幕无码| 毛片大全免费观看| 人人爽人人爽人人片av免费| 亚洲毛片无码专区亚洲乱| 永久在线毛片免费观看| 搡女人免费免费视频观看| 亚洲AV色吊丝无码| 亚洲中文字幕日产乱码高清app| 精品国产无限资源免费观看| 免费人妻精品一区二区三区| 亚洲喷奶水中文字幕电影|