简介
Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的文件数据库。JE具有如下优点:
- 能够高效率的处理1到1百万条记录,制约JE数据库的往往是硬件系统,而不是JE本身。
- 多线程支持,JE使用超时的方式来处理线程间的死琐问题。
- Database都采用简单的key/value对应的形式。
- 支持事物。
- 允许创建二级库。这样我们就可以方便的使用一级key,二级key来访问我们的数据。
- 支持RAM缓冲,这样就能减少频繁的IO操作。
- 支持日志。
- 数据备份和恢复。
- 游标支持。、
获取JE安装环境
JE下载地址:http://download.oracle.com/otn/berkeley-db/je-7.5.11.zip
解压包后,把JE_HOME/lib/je-.jar中的jar文件添加到你的环境变量中就可以使用je了。
相关帮助文档可以参考 JE_HOME/docs/index.html
相关源代码见JE_HOME/src/.
代码
JE操作类
package je_test;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import com.sleepycat.je.Cursor;
import com.sleepycat.je.CursorConfig;
import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseConfig;
import com.sleepycat.je.DatabaseEntry;
import com.sleepycat.je.Environment;
import com.sleepycat.je.EnvironmentConfig;
import com.sleepycat.je.LockConflictException;
import com.sleepycat.je.LockMode;
import com.sleepycat.je.OperationStatus;
import com.sleepycat.je.Transaction;
import com.sleepycat.je.TransactionConfig;
public class BerkeleyDBUtil {
// 数据库环境
private Environment env = null;
// 数据库
private static Database frontierDatabase = null;
// 数据库名
private static String dbName = "frontier_database";
public BerkeleyDBUtil(String homeDirectory) {
// 1、创建EnvironmentConfig
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setTransactional(true);
envConfig.setAllowCreate(true);
// 2、使用EnvironmentConfig配置Environment
env = new Environment(new File(homeDirectory), envConfig);
// 3、创建DatabaseConfig
DatabaseConfig dbConfig = new DatabaseConfig();
dbConfig.setTransactional(true);
dbConfig.setAllowCreate(true);
// 4、使用Environm