日期:2014-05-16  浏览次数:20304 次

Berkeley DB 教程

嵌入式数据库Berkeley DB Java Edition

Berkeley DB的使用

使用Berkeley DB的一般步骤如下:

第一,创建数据库环境Environment

创建一个Environment环境,首先需要设置一个配置对象DatabaseConfig,用来配置一个数据库的环境,然后就可以创建Environment环境:

EnvironmentConfig envConfig = newEnvironmentConfig(); // 创建一个EnvironmentConfig配置对象
envConfig.setAllowCreate(true);
// 允许创建一个数据库环境
envConfig.setCacheSize(1000000); // 设置数据库缓存大小

try {
Environment env = new Environment(newFile("D:\\"),envConfig);
// 使用一个指定路径和一个EnvironmentConfig配置对象创建Environment环境
} catch (DatabaseException e){
e.printStackTrace();
}

第二,打开数据库Database

首先需要在一个已经存在的Environment环境下考虑打开一个数据库;

打开数据库之前,也要创建一个DatabaseConfig配置对象,用来配置一个Database

使用Environment环境来打开数据库Database

在上面步骤中创建了env的基础上,打开数据库具体实现如下:

DatabaseConfig dbConfig = newDatabaseConfig(); // 创建一个DatabaseConfig配置对象
dbConfig.setAllowCreate(true);
// 允许创建数据库
try {
Database db = env.openDatabase(null, "MyBDB",dbConfig);
// 打开数据库MyBDB
} catch (DatabaseException e) {
e.printStackTrace();
}

第三,操作数据库

Berkeley DB存储的是键值对形式的数据,其实类似于一个Map,无非是向数据库中添加key/value对,或者根据指定的key取出对应的value,这是最基础的。

还可以使用游标来遍历数据库中的记录。

第四,关闭数据库及其环境

关闭的顺序就是:先关闭数据库,然后关闭环境:

try {
if(db != null) {
db.close();
}
if(env != null) {
env.close();
}
} catch (DatabaseException e) {
e.printStackTrace();
}

Berkeley DB实例

下面做了一个例子,实现了MyBerkeleyDB类,用来演示如何使用一个Berkeley DB

写入数据

package org.shirdrn.berkeleydb;

import java.io.File;

import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseConfig;
import com.sleepycat.je.DatabaseEntry;
import com.sleepycat.je.DatabaseException;
import com.sleepycat.je.Environment;
import com.sleepycat.je.EnvironmentConfig;
import co