Berkeley DB Java
2009-12-27 22:12
337 查看
一个很不错的Java嵌入式数据库。下面的代码展示了一下用法。如果只是当个Map来用应该是够了。
package bdb; import java.io.File; import java.io.IOException; 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.LockMode; import com.sleepycat.je.OperationStatus; import com.sleepycat.je.Transaction; /** * 一个简单的Bdb Map * * @author Shixiong Zhu */ public class Bdb { private Environment env; private Database database; private Transaction txn; public Bdb(String envDirName, String databaseName) throws IOException { txn = null; EnvironmentConfig configuration = new EnvironmentConfig(); configuration.setAllowCreate(true); File envDir = new File(envDirName); if (!envDir.exists()) { if (!envDir.mkdirs()) { throw new IOException("create directory " + envDirName + " fail"); } } else { if (envDir.isFile()) { throw new IOException(envDirName + " must be a directory"); } } env = new Environment(envDir, configuration); DatabaseConfig dbConfig = new DatabaseConfig(); dbConfig.setAllowCreate(true); database = env.openDatabase(txn, databaseName, dbConfig); } public void put(BdbEntry key, BdbEntry value) { DatabaseEntry keyEntry = new DatabaseEntry(key.getBytes()); DatabaseEntry valueEntry = new DatabaseEntry(value.getBytes()); database.put(txn, keyEntry, valueEntry); } public boolean get(BdbEntry key, BdbEntry value) { DatabaseEntry keyEntry = new DatabaseEntry(key.getBytes()); DatabaseEntry valueEntry = new DatabaseEntry(); OperationStatus status = database.get(txn, keyEntry, valueEntry, LockMode.DEFAULT); if (status == OperationStatus.SUCCESS) { value.setBytes(valueEntry.getData()); return true; } else { return false; } } public void close() { database.close(); env.cleanLog(); env.close(); } public static interface BdbEntry { public byte[] getBytes(); public void setBytes(byte[] bytes); } }
相关文章推荐
- Berkeley DB——Java and .Net and Some Applications
- Berkeley DB Java
- Oracle Berkeley DB Java 版
- Berkeley DB for Java
- Berkeley DB Java Edition Research
- Berkeley DB Java Edition 使用手册
- Berkeley DB Java Edition 使用手册
- 【转】嵌入式数据库Berkeley DB Java Edition
- Berkeley DB Java Edition
- Berkeley DB Java Edition存储文件格式概述
- Java Programming with Berkeley DB XML
- Building Applications with Berkeley DB Java Edition @ JDJ
- Berkeley DB Java Edition Installation Notes(BDB JE安装教程)
- Berkeley DB Java Edition
- Berkeley DB Java Edition
- Berkeley DB Java Edition Setup
- How to use Berkeley DB Java Edition
- Oracle Berkeley DB Java 版
- java UI db.properties
- Java调用DB的存储过程