1. 前言
Oracle Berkeley DB Java Edition(以下簡(jiǎn)稱(chēng)JE)是一套由純Java語(yǔ)言實(shí)現的嵌入式數據庫,具有移植性強,存儲性能高等特點(diǎn)。
JE提供的事務(wù)存儲引擎不僅顯著(zhù)的減少了對象持久化開(kāi)銷(xiāo),而且支持大量的并發(fā)的事務(wù)存儲,并保持了對象-關(guān)系映射(ORM)解決方案的靈活性,速度和擴展性。為了讓用戶(hù)更加方便的使用JE,JE還提供了直接持久層(DPL),旨在提供與EJB3相同的好處:對象持久化時(shí),不需要將對象轉換成關(guān)系表。使用DPL,可以讓用戶(hù)更加關(guān)注事務(wù)邏輯,而不需要關(guān)心對象的存儲。
除了Sun J2SE平臺之外,JE還支持Android平臺以及Oracle JRockit JVM,JE與JasperReport無(wú)縫集成更是大大的便利于商業(yè)智能及分析。同時(shí)為了方便項目管理,JE還提供了對Maven這一自動(dòng)化編譯及部署工具的支持。
本文介紹了如何在Windows下配置和編譯Oracle Berkeley DB Java Edition以及如何運行一個(gè)簡(jiǎn)單的示例程序。后續文章還將涵蓋許多JE使用及提高的機制和技巧。
2. 環(huán)境配置
為了在Windows上編譯JE,系統需要安裝JDK,Ant(1.7及以上版本)以及JUnit(3.8及以上)。
您可以從以下地址下載這些工具的最新版本:
- http://java.sun.com/javase/downloads/index.jsp
- http://ant.apache.org/bindownload.cgi
- http://www.junit.org/
下載完這些工具之后,下一步就是解壓縮和安裝。
1.將Ant解壓縮到指定目錄(如d:toolsant)。解壓縮之后的目錄文件如圖1所示:

圖1
2.將JUnit解壓縮到指定目錄(如d:toolsjunit)。解壓后的目錄結構如圖2所示:

圖2
3.將Java安裝到指定目錄(如d:toolsjava)。
4.在安裝完指定工具之后,您需要設置環(huán)境變量,主要為:classpath和path兩個(gè)設置。具體方法如下:右鍵點(diǎn)擊“我的電腦”,選擇“屬性”,選擇“高級”標簽,進(jìn)入環(huán)境變量設置,如圖3所示:

圖3
根據您安裝Ant,JDK和JUnit的具體位置,將path相應設置為對應目錄,如:d:toolsjavabin;d:toolsantbin,將classpath設置為:
.;d:toolsjavalibtools.jar;d:toolsantlibant.jar;d:toolsjunitjunit.jar.
在安裝成功之后,您可以在命令行窗口輸入:java -version和ant -version來(lái)查看是否已經(jīng)安裝成功,如圖4。

圖4
3. 下載Berkeley DB Java Edition
安裝必需的工具后,用戶(hù)可以由地址:http://www.oracle.com/technology/software/products/berkeley-db/je/index.html下載JE最新本的zip壓縮包,如圖5:

圖5
JE的最新發(fā)行版本是3.3.75,用戶(hù)下載zip包到本地機器之后,將其解壓縮到指定目錄,如:d:databaseje,目錄結構如圖6:

圖6
4. 編譯并運行示例
用戶(hù)在解壓縮之后的目錄中,會(huì )看到名為build.xml的Ant腳本,參看上圖。它設置了一系列任務(wù),如編譯,單元測試以及運行JE提供的示例,接下來(lái)我們運行“testex-simple”任務(wù)所表示的
示例。
該任務(wù)實(shí)際上是運行在目錄d:databasejeexamplesje下名為SimpleExample的示例程序,如圖7:

圖7
該任務(wù)演示了最基本的使用JE存取數據的過(guò)程,用戶(hù)可以打開(kāi)一個(gè)Windows的控制臺,并進(jìn)入到JE解壓縮的目錄:d:databaseje,然后輸入命令:ant testex-simple,就會(huì )在控制臺的輸出
中看到取出的數據,如圖8:

圖8
5.總結
從上述過(guò)程中可以發(fā)現,在Windows平臺上配置和編譯Oracle Berkeley DB Java Edition是非常簡(jiǎn)單的。Linux用戶(hù)會(huì )發(fā)現,在Linux編譯及運行JE示例程序的配置流程和本文基本一致。如您有進(jìn)一步的疑問(wèn),歡迎訪(fǎng)問(wèn)JE的官方論壇:http://forums.oracle.com/forums/forum.jspa?forumID=273,或者給我留言。

