Derby

Derby

Apache Derby是一個完全用java編寫的資料庫,Derby是一個Open source的產品,基於Apache License 2.0分發。 Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做為單獨的資料庫伺服器使用,也可以內嵌在應用程式中使用。Cognos 8 BI的Content Store默認就是使用的Derby資料庫,可以在Cognos8的安裝目錄下看到一個叫derby10.1.2.1的目錄,就是內嵌的10.1.2.1 版本的derby。

發展歷史

Apache Derby 項目的目標是構建一個完全用 Java 程式語言編寫的、易於使用卻適合大多數應用程式的開放源碼資料庫。可以想像,開發一個資料庫並不簡單,Apache Derby 資料庫也不例外(因為它是個開放源碼軟體,所以您可以自行查看它)。但是 Derby 項目並不是從零開始的。回到 1996 年,一個叫做 Cloudscape, Inc 的新公司成立了,公司的目標是構建一個用 Java 語言編寫的資料庫伺服器。公司的第一個發行版在一年之後推出,後來產品的名稱變成 Cloudscape。1999 年,Cloudscape, Inc. 被大型資料庫廠商 Informix Software, Inc. 收購。

Informix Software 在 2001 年又被 IBM 收購,然後 IBM Cloudscape™ 資料庫系統在許多 IBM 的產品中被用作內嵌的資料庫引擎。2004 年 4 月,IBM 把 Cloudscape 資料庫軟體贈送給 Apache 軟體基金會,從此 Apache Derby 項目誕生了。

這時,Cloudscape 資料庫幾乎已經有了 50 萬行 Java 代碼,所以花了一些時間才正確地把它轉換成 Apache Derby 項目。經過孵化期之後,Derby 於 2005 年 7 月正式發布。所以雖然看起來像是新事物,但是 Derby 背後已經開發了幾乎十年了。

IBM 繼續管理 Cloudscape 資料庫,該資料庫是從 Apache Derby 原始碼構建的。IBM 把 Cloudscape 資料庫作為免費下載提供,而且為需要增強信心的客戶提供收費的諮詢服務。另外,Sun Microsystems 已經宣布它將包含一個修補過的 Apache Derby 版本作為它的 Java 資料庫產品。來自 IBM 和 Sun 的強大投入,強化了 Apache Derby 資料庫的光明前景。Derby 資料庫也符合許多資料庫標準,例如 SQL-92 和 JDBC 3.0 版本,所以開始用 Derby 資料庫系統開發的應用程式可以容易地移植到其他資料庫系統,例如 IBM DB2 通用數據。

主要特點

程式小巧,基礎引擎和內嵌的JDBC驅動總共大約2MB。

基於Java、JDBC和SQL標準。

提供內嵌的JDBC驅動,你可把Derby嵌入到基於Java的應用程式中。

支持客戶端/伺服器模式。

安裝、布置和使用簡單。

使用技巧

配置環境變數

建立DERBY_HOME,值:E:\Java\Joy\derby\db- derby-10.5.3.0-bin\db-derby-10.5.3.0-bin

在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

創建資料庫

打開命令行,進入想要放置資料庫的目錄,我的是:E:\Java\Joy \derby\Derby_data

然後輸入ij

將會看到:

ij 版本 10.5
ij>

接下來就可以創建資料庫了。

例:
1、 創建firstdb資料庫:
ij> connect 'jdbc:derby:firstdb;create=true';
連線firstdb資料庫:
ij> connect 'jdbc:derby:firstdb';

查詢資料庫等操作,只需要輸入相應的Sql語句即可。

2、創建一個table:

create table firsttable(id int primary key, name varchar(20));

3、插入數據:

insert into firsttable values(1, 'Hotpepper');

在命令行測試一下:

select * from firsttable;

結果如下:

ID |NAME
——————————–
1 |Hotpepper

下線:
ij> disconnect;
退出ij:
ij> exit;

在程式中使用

在Java程式中使用Derby

首先要把相關的Derby jar包加進來(Build Path)。

如果是Maven工程,加入以下依賴

把derby-10.5.3.0.jar加進來,如果沒有加進來會出現 “java.lang.ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver”錯誤

好了,下面寫JAVA代碼進行測試:

OK,完成了。

運行後控制台輸出如下信息:

相關詞條

相關搜尋

熱門詞條

聯絡我們