六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 43|回复: 0

BerkeleyDB-JE Hello World(使用BaseAPI)

[复制链接]

升级  60%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
30
 楼主| 发表于 2013-1-26 14:45:48 | 显示全部楼层 |阅读模式
在进一步介绍JE之前,我们先看个BaseAPI版的Hello World,这个例子演示了JE最一般的使用方法,打开环境和Database,持久化数据,查询数据,关闭环境和Database。
/** * 用BaseAPI保存和获取数据 * @author mengyang * */public class HelloWorldByBaseAPI {private File file = new File("C:/Users/mengyang/workspace/je");private Environment env;private Database database;//建立环境private void setUp(){EnvironmentConfig envConfig = new EnvironmentConfig();envConfig.setAllowCreate(true); env = new Environment(file, envConfig);DatabaseConfig dbConfig = new DatabaseConfig();dbConfig.setAllowCreate(true);database = env.openDatabase(null, "baseAPIDemo", dbConfig);}//保存数据private void save(){String key = "BaseAPI";String value = "Hello World!";try {DatabaseEntry keyEntry = new DatabaseEntry(key.getBytes("utf-8"));//键DatabaseEntry valueEntry = new DatabaseEntry(value.getBytes("utf-8"));//值database.put(null, keyEntry, valueEntry);//保存键值对} catch (UnsupportedEncodingException e) {e.printStackTrace();}}//检索数据private void get(){String key = "BaseAPI";String value;try {DatabaseEntry keyEntry = new DatabaseEntry(key.getBytes("utf-8"));//键DatabaseEntry valueEntry = new DatabaseEntry();//空的值if(database.get(null, keyEntry, valueEntry, LockMode.DEFAULT) == OperationStatus.SUCCESS){//根据键来查找value = new String(valueEntry.getData(), "utf-8");//找到了对于的值System.out.println("key:BaseAPI,value:"+value);}} catch (UnsupportedEncodingException e) {e.printStackTrace();}}//关闭环境private void shutDown(){database.close();env.close();}/** * @param args */public static void main(String[] args) {HelloWorldByBaseAPI myCase = new HelloWorldByBaseAPI();myCase.setUp();myCase.save();myCase.get();myCase.shutDown();}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表