前不久也封装了一个,但那个是基于存储映射实现的,因为要实现特定对象存储,所以过程有些复杂,今天是直接使用BerkeleyDB的API封装成的一个MyBerkeleyDB,简单易用。下面上代码:
步骤
1、确定类和变量
/*********************************
* 使用BerkeleyDB封装了一些数据库操作
* 包括设置缓冲区,设置编码,设置数据可库
* 路径,存储键值对,根据键查找值,关闭数
* 据库等操作。
* @author Administrator
*********************************/
public class MyBerkeleyDB {
private Environment environment; //环境
private Database database; //数据库
@SuppressWarnings("unused")
private String charset; //编码
private String path; //路径
private long chacheSize; //缓冲区大小
}
2、实现构造函数和一些参数的修改器
public MyBerkeleyDB(){
charset = "utf-8"; //编码默认使用UTF-8
chacheSize = 10000; //缓冲区大小默认为10000
}
//设置编码
public void setCharset(String charset)
{
this.charset = charset;
}
//设置路径
public void setPath(String path){
//判断Path是否存在
File file = new File(path);
if(file.mkdir()){
System.out.println(path+"已创建!"); //不存在则创建一个
}
else{
System.out.println(path+"已存在!"); //存在则说明已存在
}
//确定存储路径
this.path = path;
}
//设置缓冲区大小
public boolean setChacheSize(long size){
if(size<=0 || size >=1000000000)
{
return false; //使用默认的大小
}
this.chacheSize = size;
return true;
}
3、创建环境
//同时设置路径和缓冲区,创建环境
public void setEnvironment(String path , long chacheSize){
setPath(path);
setChacheSize(chacheSize);
//配置环境
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
envConfig.setCacheSize(