天天看點

Derby學習筆記(一)Derby簡單配置和基本使用

一、Derby介紹:Derby資料庫是一個純用Java實作的記憶體資料庫,屬于Apache的一個開源項目。由于是用Java實作的,是以可以在任何平台上運作;另外一個特點是體積小,免安裝,隻需要幾個小jar包就可以運作了。

Derby資料庫有兩種運作模式:

       1) 内嵌模式。Derby資料庫與應用程式共享同一個JVM,通常由應用程式負責啟動和停止,對除啟動它的應用程式外的其它應用程式不可見,即其它應用程式不可通路它;

       2) 網絡模式。Derby資料庫獨占一個JVM,做為伺服器上的一個獨立程序運作。在這種模式下,允許有多個應用程式來通路同一個Derby資料庫。

在Apache上,Derby有4種釋出包,這裡以bin釋出包為例。bin釋出包中含有包含了執行derby資料庫工具、設定derby資料庫環境的腳本檔案、Demo、jar檔案等。

       二、Derby安裝:需要在Apache Derby官網上下載下傳Derby得壓縮包,然後解壓,得到以下幾個目錄檔案夾:

               1) bin目錄,包含了一些工具腳本和裝置環境的腳本;

               2) demo目錄,包含了一些執行個體程式;

               3) docs目錄,包含了Derby的文檔;

               4) javadoc目錄,包含了Derby的API文檔;

               5) lib目錄,包含了Derby資料庫的jar檔案;

               6) test目錄,Derby的一些測試jar包;

           在解壓好你的Derby之後,就需要開始配置了(也就是安裝,由于Derby下載下傳解壓之後,沒有可執行的比如.exe或者.mis可執行檔案,是以Derby隻需要手動配置系統的環境變量即可),比如,我将下載下傳的Derby解壓到E:java/Derby目錄下,就可以進行簡單的配置了(可以在cmd指令行裡面配置,也可以通過界面配置環境變量)。

                   1、通過界面配置環境變量:

建立DERBY_HOME,值:E:java/Derby

在Path加入:%DERBY_HOME%\bin

在CLASSPATH加入:%DERBY_HOME%\lib\derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar

        2、通過指令行設定:

               set DERBY_HOME=E:java/Derby

                将DERBY_HOME\bin目錄添加到PATH環境變量中:

                set path=%DERBY_HOME%\bin;%PATH%

           這樣可以簡化你稍後在指令行中的輸入,否則你每次都必須使用腳本的全路徑或者你必須到DERBY_HOME\bin目錄中才能執行腳本。

最後需要Derby的jar包添加到classpath環境變量中,在DERBY_HOME%\bin目錄中提供了幾個腳本用于設定classpath,以簡化你手工在classpath中添加jar包的麻煩:1) setEmbeddedCP。當使用内嵌模式來運作Derby時,可以使用該腳本來設定。該腳本将derby.jar和derbytools.jar添加到環境變量中;2) setNetworkServerCP。當使用網絡模式來運作Derby時,用該腳本來設定Derby服務端的classpath變量。該腳本将derbynet.jar添加到環境變量中;3) setNetworkClientCP。當使用網絡模式來運作Derby時,用該腳本來設定Derby用戶端的classpath變量。該腳本将derbyclient.jar和derbytools.jar添加到環境變量中。

                3、檢視是不是設定成功:

                       在指令行中,輸入sysinfo檢視derby是不是正确配置,如果配置成功,則會出現如下的部分資訊:

               -------- Derby 資訊 --------

               E:\JavaDataBase\db-derby-10.10.1.1-bin\lib\derby.jar] 10.10.1.1 - (1458268)

               E:\JavaDataBase\db-derby-10.10.1.1-bin\lib\derbytools.jar] 10.10.1.1 - (1458268

               E:\JavaDataBase\db-derby-10.10.1.1-bin\lib\derbynet.jar] 10.10.1.1 - (1458268)

               E:\JavaDataBase\db-derby-10.10.1.1-bin\lib\derbyclient.jar] 10.10.1.1 - (145826

         到此,derby資料庫就基本安裝成功。

三、derby的使用:

       a:這裡我将自己的資料庫建立在E:\JavaDataBase\Data下。

       1、打開資料連接配接:

               我們跳轉到E:\JavaDataBase\Data這個目錄下,輸入ij,将會進入connect 'jdbc:derby:Stu;create=true';(執行這個指令,将會檢查你是不是又Stu這個資料庫,如果沒有,就會自動建立)

               執行connect 'jdbc:derby:Stu';将會在有這個資料庫的情況下,會與Stu這個資料庫建立連接配接。不會自動建立。

       2、建表:在建立了資料庫之後,我們開始建立Stutable這個學生表:create table Stutable(id int primary key,name varchar(20));建立一個表;(也可以将這些增加删除修改的指令些在一個.sql檔案裡面,然後通過run 'sql檔案全路徑'指令運作)

       3、插入資料:insert into Stutable values(1,'張三');

       4、檢視資料:select * from Stutable;

       5、修改資料:update Stutable set name='李四' where id=1;

       6、删除資料:delete from stutable where id=1;

       7、斷開連接配接:disconnect;

       8、退出ij:exit;

       b:啟動derby網絡資料庫。

       與上述内嵌模式的連接配接啟動方式差不多,首先,運作Derby的bin檔案夾下的startNetworkServer來啟動網絡資料庫。

       1、連接配接網絡資料庫:與内嵌資料庫連接配接幾乎一樣,connect 'jdbc:derby://loalhost:1527/資料庫名;create=true';

       2、其餘的操作就和内嵌的資料庫操作一樣。

  四、在java中怎麼使用連接配接

   首先要導入Derby的jar包:derby.jar

 1、 在Java應用程式中通路Derby資料庫

使用Java代碼通路Derby資料庫與通路其它資料庫的差別如下:

1) JDBC驅動的不同;

2) 資料庫連接配接URL的不同;

3) 在通路内嵌模式資料庫時,需要顯示關閉資料庫。

下面分别執行個體通路内嵌模式和網絡模式Derby資料庫的代碼

1) 通路内嵌模式Derby資料庫

String driver = “org.apache.derby.jdbc.EmbeddedDriver”;

String url = “jdbc:derby:firstdb;create=true”;

Connection conn;

try {

Class.forName(driver);

conn = DriverManager.getConnection(url);

}catch(Exception e) {

……

}finally {

DriverManager.getConnection("jdbc:derby:;shutdown=true");

}

建立好連接配接後,其它的資料操作,如查詢、更新資料都和其它資料庫一樣,這裡不詳述。有一點需要注意,通過Java應用程式通路内嵌模式Derby資料庫時,應用程式有責任需要在程式結束時關閉Derby資料庫,如上面代碼finally中的

shutdown參數用于關閉Derby資料庫,如果url中指定了資料庫命,則隻會關閉指定的資料庫,而不會關閉整個Derby資料庫。資料庫關閉成功時,Derby會抛出一個錯誤碼為XJ015和一個08006的異常表示關閉成功,應用程式可以不處理這兩個異常。

2) 通路網絡模式Derby資料庫

網絡模式和内嵌模式的不同出在于:

A. 資料庫連接配接URL的不同;

B. 應用程式退出時無效關閉Derby資料庫;

C. 資料庫驅動的不同;

String driver = “org.apache.derby.jdbc.ClientDriver”;

String url = “jdbc:derby: //localhost:1527/firstdb;create=true”;

由于網絡模式下,Derby資料庫做為一個獨立運作的資料庫,可以被多個應用程式所通路,是以應用程式在運作結束時不應該關閉Derby資料庫。

       2、 使用derbyrun.jar

通過derbyrun.jar也可以使用上面提到的sysinfo、ij、dblook三個腳本的功能,在使用derbyrun.jar前,除了DERBY_HOME環境變量外,你必須顯示設定好classpath環境變量,可以通過上面提到的setEmbeddedCP、setNetworkServerCP、setNetworkClientCP幾個腳本來設定,具體使用哪個腳本取決于你如何使用Derby資料庫。

可以通過java –jar %DERBY_HOME%\lib\ derbyrun.jar來運作derbyrun中的工具:

1) 使用sysinfo。java –jar %DERBY_HOME%\lib\ derbyrun.jar sysinfo

2) 使用ij。java –jar %DERBY_HOME%\lib\ derbyrun.jar ij

3) 使用dblook。java –jar %DERBY_HOME%\lib\ derbyrun.jar dblook

繼續閱讀