`
chh58chh
  • 浏览: 20950 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Berkeley DB实例

 
阅读更多

Berkeley DB实例
2011年09月01日
   package test; 
  import com.sleepycat.je.*; 
  import com.sleepycat.bind.EntryBinding; 
  import com.sleepycat.bind.tuple.TupleBinding; 
  import com.sleepycat.bind.serial.StoredClassCatalog; 
  import com.sleepycat.bind.serial.SerialBinding; 
  import java.io.File; 
  public class test { 
  public static void main(String[] args) { 
  } 
  /** 
  * 打开和关闭环境,示例一 
  * 
  */ 
  public void eg1(){ 
  //----打开环境,如果不存在,则创建一个------------ 
  Environment myDbEnvironment=null; 
  try { 
  EnvironmentConfig envConfig = new EnvironmentConfig(); 
  envConfig.setAllowCreate(true); //true不存在就创建,false如果不存在则打开环境失败 
  //envConfig.setReadOnly(true); //true 以只读方式打开,如果是多进程应用,每个进程都要设置为true 
  //envConfig.setTransactional(true);//true支持事务,false不支持,默认false。可以更改配置文件来设置此参数。 
  myDbEnvironment = new Environment(new File(".//"), envConfig);//环境所在路径 
  java.util.List myDbNames = myDbEnvironment.getDatabaseNames(); //得到所有的数据库的名字 
  for(int i=0; i value,二者都被是有DatabaseEntry封装的。 
  //这个之前也提过很多次了,DatabaseEntry可以封装原始类型和复杂的对象类型,二者都要被转换为byte array存储,转换可以使用Bind API来完成 
  //写数据 
  myDatabase.put(null, theKey, theData);//如果不是可重复数据库,put将会覆盖原有的记录。 
  //myDatabase.putNoOverwrite(null, theKey, theData);//不允许覆盖,不管是否允许数据重复。 
  //读数据 
  //--myDatabase.getSearchBoth(null, theKey, theData, LockMode.DEFAULT);//查找key和data都匹配的记录 
  //--查询出来的key和data都是byte数组形式。 
  if (myDatabase.get(null, theKey, theData, LockMode.DEFAULT) ==OperationStatus.SUCCESS) 
  { 
  byte[] retData = theData.getData(); 
  String foundData = new String(retData, "UTF-8"); 
  System.out.println("For key: '" + aKey + "' found data: '" +foundData + "'."); 
  } 
  //删除数据 
  myDatabase.delete(null, theKey); //删除数据 
  } catch (Exception e) {} 
  //关闭数据库 
  //如果打开了游标,关闭时JE会发出警告,让你关闭他们先。活动状态的游标在关闭库的过程中会产生意想不到的结果,尤其是其他线程在写库的过程中。确定所有的访问都结束后再关闭库 
  try { 
  if (myDatabase != null) { 
  myDatabase.close(); 
  myDbEnvironment.renameDatabase(null, "sampleDatabase", "test");//重命名,必须先关闭数据库 
  myDbEnvironment.removeDatabase(null, "sampleDatabase");//删除数据库,必须先关闭数据库 
  //myDbEnvironment.truncateDatabase(null, myDatabase.getDatabaseName(),true);//删除并回收数据库空间 ,true返回删除的记录的数量,false不返回删除的记录数量值 
  } 
  if (myDbEnvironment != null) { 
  myDbEnvironment.close(); 
  } 
  } catch (DatabaseException dbe) { 
  
  
分享到:
评论

相关推荐

    Berkeley DB参考资料

    2. BerkeleyDB环境API 3. BerkeleyDB多库联合操作(SecondaryDatabases) 4. Berkeley DB--关于原生XML数据库指导性的介绍第一章. 介绍第二章. XQuery和Berkeley DB 5. Berkeley DB C++使用实例 6.。。。

    Berkeley并发性能测试

    一个测试berkeleydb并发性能测试的实例,采用多线程并发访问,测试berkeleydb的性能,日志恢复等。

    Berkeley DB完整资料

    还是比较全的berkeley 资料,还有包和实例

    python使用Berkeley DB数据库实例

    本文实例讲述了python使用Berkeley DB数据库的方法,分享给大家供大家参考。 具体实现方法如下: try: from bsddb import db except ImportError: from bsddb3 import db print db.DB_VERSION_STRING #检测是否有...

    原创CAS_SSO单点登录实例详细

    一. 安装JDK ........................................................................... 与Oracle Berkeley DB 集成..........................................................................................

    使用Subversion进行版本控制(针对 Subversion 1.4)

    删除不使用的Berkeley DB日志文件 Berkeley DB 恢复 版本库数据的移植 过滤版本库历史 版本库复制 版本库备份 总结 6. 服务配置 概述 选择一个服务器配置 svnserve服务器 svnserve使用SSH通道 Apache 的 HTTP 服务器...

    linux系统移植_第二版_part2

    第4篇从嵌入式产品角度出发,介绍了gui、qtopia、嵌入式数据库berkeley db和sqlite、嵌入式web服务器boa和thttpd、jvm虚拟机的移植及目前流行的voip技术和相关协议。 本书适合嵌入式linux系统入门人员、linux系统...

    linux系统移植_第二版_part1

    第4篇从嵌入式产品角度出发,介绍了gui、qtopia、嵌入式数据库berkeley db和sqlite、嵌入式web服务器boa和thttpd、jvm虚拟机的移植及目前流行的voip技术和相关协议。 本书适合嵌入式linux系统入门人员、linux系统...

    mysql事务处理用法与实例代码详解

    3.Berkeley DB:支持事务 一个事务是一个连续的一组数据库操作,就好像它是一个单一的工作单元进行。换言之,永远不会是完整的事务,除非该组内的每个单独的操作是成功的。如果在事务的任何操作失败,则整个事务将...

    linux系统移植

    第4篇从嵌入式产品角度出发,介绍了GUI、Qtopia、嵌入式数据库Berkeley DB和SQLite、嵌入式Web服务器BOA和Thttpd、JVM虚拟机的移植及目前流行的VoIP技术和相关协议。, 《Linux系统移植》适合嵌入式Linux系统入门人员...

    php-dba-cache:使用数据库(dbm样式)抽象层创建缓存以缓存对象,字符串,整数或数组

    具有持久连接的Oracle Berkeley DB 4示例 $ cache = new Cache ( '/your/path/to/the/cahe-file/cache.db4' , 'db4' ); $ yorObject = new ObjectYouWantToPutInCache (); $ yourObjectIdentifier = 'your:cool:...

    P2P视频播放器 详细制作实例

    6) Berkeley DB模块 这只在SP中涉及, 主要是打开DB文件, 查询某个md5的位置. 主要涉及到DB* MediaDB, openDB, openMedia这两个函数 openDB: 参数为DB文件的名 openMedia: 参数为md5和一个整数指针, 返回FILE *以及该...

    java_webcrawler:XPath 引擎、网络爬虫和爬虫的网络界面。 专为 CIS 555(互联网和网络系统)构建

    ##Overview## edu/upenn/cis455包含网络爬虫、XPath 引擎和爬虫接口。... storage包含一个用于 BerkeleyDB 本地实例的包装类。 CrawlerEntity.java是爬虫积累的数据片段(即url、HTML/XML 文档等)的实体对象。

    java组装命名式服务20160215

    现在的各类非专业人士部署困难,想做一个用名称定义服务的。...客户端直接以名称方式获取接口对象实例,调用对应的服务。服务调用用jzmq中的tcp方式;同时引入了rudp,远程锁...添加了BerkeleyDB,h2等数据库。为大家了解

    SVN使用手册中文版快速入门

    Berkeley DB配置 版本库维护 管理员的工具箱 svnlook svnadmin svndumpfilter svnshell.py Berkeley DB工具 版本库清理 管理磁盘空间 版本库的恢复 版本库的移植 版本库备份 添加项目 选择一种版本库布局 创建布局,...

    SVN使用手册中文版.chm

    Berkeley DB配置 版本库维护 管理员的工具箱 svnlook svnadmin svndumpfilter svnshell.py Berkeley DB工具 版本库清理 管理磁盘空间 版本库的恢复 版本库的移植 版本库备份 添加项目 选择一种版本库布局 创建布局,...

    Linux系统移植 第二版

    第4篇从嵌入式产品角度出发,介绍了GUI、Qtopia、嵌入式数据库BerkeleyDB和SQLite、嵌入式Web服务器BOA和Thttpd、JVM虚拟机的移植及目前流行的VoIP技术和相关协议。  《Linux系统移植(第2版)》适合嵌入式Linux...

    MySQL 5.1中文手冊

    5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL...

    MYSQL中文手册

    5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:...

    Python Cookbook

    7.8 使用Berkeley DB数据库 291 7.9 访问MySQL数据库 294 7.10 在MySQL数据库中储存BLOB 295 7.11 在PostgreSQL中储存BLOB 296 7.12 在SQLite中储存BLOB 298 7.13 生成一个字典将字段名映射为列号 300 7.14 ...

Global site tag (gtag.js) - Google Analytics