当前位置: 首页 > 工具软件 > Berkeley DB > 使用案例 >

Berkeley DB 使用

养焱
2023-12-01

最近在项目中使用到了Berkeley DB,将一些使用总结了下:


public abstract class AbstractFrontier {
private Environment env;
private static final String CLASS_CATALOG = "java_class_catalog";
protected StoredClassCatalog javaCatalog;
protected Database catalogdatabase;
protected Database database;


public AbstractFrontier(String homeDirectory) throws DatabaseException,
FileNotFoundException {
// 打开env
System.out.println("Opening enviroment in:" + homeDirectory);
EnvironmentConfig envConfig = new EnvironmentConfig(); // 创建一个EnvironmentConfig配置对象
envConfig.setTransactional(true);
envConfig.setAllowCreate(true); // 允许创建一个数据库环境
env = new Environment(new File(homeDirectory), envConfig); // 使用一个指定路径和一个EnvironmentConfig配置对象创建Environment环境


// 设置DatabaseConfig
DatabaseConfig dbConfig = new DatabaseConfig(); // 创建一个DatabaseConfig配置对象
dbConfig.setTransactional(true);
dbConfig.setAllowCreate(true); // 允许创建数据库


// 打开
catalogdatabase = env.openDatabase(null, CLASS_CATALOG, dbConfig);// 打开数据库CLASS_CATALOG
javaCatalog = new StoredClassCatalog(catalogdatabase);


// 设置DatabaseConfig
DatabaseConfig dbConfig0 = new DatabaseConfig();
dbConfig0.setTransactional(true);
dbConfig0.setAllowCreate(true);


// 打开
database = env.openDatabase(null, "URL", dbConfig); // 打开数据库URL
}


// 关闭数据库,关闭环境
public void close() throws DatabaseException {
database.close();
javaCatalog.close();
env.close();
}


// put 方法
protected abstract void put(Object key, Object value);


// get 方法
protected abstract void get(Object key);


// delete 方法
protected abstract void delete(Object key);
}

 类似资料: