HSQLDB是一個開放源代碼的JAVA數據庫,具有標準的SQL語法和JAVA接口。HSQLDB可以自由使用和分發,具有內存數據庫,獨立數據庫和客戶-服務器三種數據庫模式。本文介紹客戶-服務器模式的配置。 

              從HSQLDB主頁上下載HSQLDB:

              http://hsqldb.org/

            把下載的壓縮文件解開,然后在系統環境變量中加入hsqldb.jar,如:

          .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;D:\hsqldb\lib\hsqldb.jar

               在硬盤中任意位置建一個目錄作為HSQLDB數據庫的主目錄,然后打開命令行,進入該目錄。在里面建一個server.properties文件,這是HSQLDB服務器模式的配置文件。可以在里面設置數據庫服務的監聽端口、服務名稱、數據文件的相對和絕對路徑:

          #begin of 'server.properties' file

          #數據庫服務的監聽端口
          server.port=9001

          #定義服務名稱,也即數據庫名稱。數據庫鏈接的URL即為

          #jdbc:hsqldb:hsql://localhost:9001/bitan。
          server.dbname.0=bitan

          # 該服務在硬盤上的相對或絕對路徑。file:后面可以跟相#對或絕對路徑,如file:bitan表示數據文件為當前目錄下的bitan.*文件。服務名和路徑之間通過小數點后的數字關聯。比如database.0與#dbname.0關聯,database.1與dbname.1關聯,……, database.n與dbname.n關聯。
          server.database.0=file:d:/bitan
          #mounts a 'file_in_jar' database with alias 'restest'
          #database connection url would be 'jdbc:hsqldb:hsql://host:1234/restest'
          #server.database.1=res:/mypackage/test
          #server.dbname.1=restest
          #mounts a 100% in-memory (transient) database with alias 'memtest'
          #database connection url would be 'jdbc:hsqldb:hsql://host:1234/memtest'
          #server.database.2=mem:test
          #server.dbname.2=memtest
          #...
          #server.database.n=...
          #server.dbname.n=...
          server.silent=true

          #end of 'server.properties' file

           

              進入上面設置的主目錄,啟動HSQLDB服務器:HSQLDB會在當前目錄下尋找server.properties文件,如果沒有發現該文件就使用默認設置。

           

          D:\work\eclipse\hibe\data>java org.hsqldb.Server
          [Server@1034bb5]: [Thread[main,5,main]]: checkRunning(false) entered
          [Server@1034bb5]: [Thread[main,5,main]]: checkRunning(false) exited
          [Server@1034bb5]: Startup sequence initiated from main() method
          [Server@1034bb5]: Loaded properties from [D:\work\eclipse\hibe\data\server.prope
          rties]
          [Server@1034bb5]: Initiating startup sequence...
          [Server@1034bb5]: Server socket opened successfully in 78 ms.
          [Server@1034bb5]: Database [index=0, id=0, db=file:bitan, alias=bitan] opened su
          cessfully in 1000 ms.
          [Server@1034bb5]: Startup sequence completed in 1093 ms.
          [Server@1034bb5]: 2005-11-03 11:30:47.046 HSQLDB server 1.8.0 is online
          [Server@1034bb5]: To close normally, connect and execute SHUTDOWN SQL
          [Server@1034bb5]: From command line, use [Ctrl]+[C] to abort abruptly

           

           

          另外開一個命令行窗口,啟動HSQLDB的管理工具,這是GUI外觀的程序:

           

          D:\work\eclipse\hibe\data>java org.hsqldb.util.DatabaseManager

           

          首先出現的是登錄窗口:

              在“setting name”中填入“bitan”,下次啟動管理工具時,該字串就會出現在“recent”下拉框中。點擊“clr”按鈕可以清除該字串。在“type”中選擇HSQL Database Engine Server,然后在“URL”中輸入上面server.properties中的設置。

              點“OK” 登錄以后,會出現下面的窗口,左邊是目錄窗口,右邊是SQL查詢窗口。我們可以在SQL查詢窗口中鍵入任意SQL語句(包括DDL,DML等等),然后點擊“Execute”執行該語句。HSQLDB安裝文件的doc目錄里附帶了PDF和HTML格式的文檔,介紹了HSQLDB的SQL語法、支持的數據類型、內置函數等等。

          可以在SQL窗口里創建新表:

           

          create table events

          (event_id integer identity not null,

          event_date date,

          title varchar(500))

          (ID的自動插入方式上,HSQLDB支持identity,如sql server;也支持序列+觸發器,如Oracle。)

           

          可以插入記錄:

           

          insert into events (event_id, event_date, title)

          values (null, curdate(), 'bitan')

           

          (curdate()是HSQLDB內置函數,返回當前日期)

           

          啟動了HSQLDB服務器,我們就可以在java程序中以JDBC方式訪問數據庫了。hsqldb.jar中內置了JDBC驅動程序。

          如下例,這是hibernate中的配置文件Hibernate.cfg.xml:

           

          <?xml version="1.0" encoding="utf-8"?>
          <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "    
          <hibernate-configuration>
              <session-factory>
                  <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
                  <property name="connection.url">jdbc:hsqldb:hsql://jim:9001/bitan</property>
                  <property name="connection.username">sa</property>
                  <property name="connection.password"></property>
                 
                  <property name="connection.pool_size">1</property>
                 
                  <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
                 
                  <property name="show_sql">true</property>
                 
                  <!-- property name="hbm2ddl.auto">update</property-->
                 
                  <mapping resource="hbm/Event.hbm.xml"/>
              </session-factory>
          </hibernate-configuration>


          posted on 2008-12-02 18:23 caihaibo 閱讀(961) 評論(0)  編輯  收藏

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 胶南市| 睢宁县| 泰宁县| 邵阳县| 孝感市| 邢台市| 福鼎市| 清丰县| 忻州市| 武汉市| 迁安市| 闽侯县| 德庆县| 筠连县| 昭觉县| 武隆县| 镇远县| 武穴市| 渝中区| 汨罗市| 静安区| 西贡区| 邮箱| 宜良县| 南安市| 神池县| 周至县| 上杭县| 陕西省| 海安县| 昭通市| 安平县| 张家界市| 廊坊市| 抚州市| 尉氏县| 紫阳县| 顺平县| 定南县| 信阳市| 天柱县|