BerkeleyDB(BDB)
优点
嵌入式数据库
KV型数据库文件型
数据库历史悠久、成熟、稳定、易布署、易运维、高性能跨语言支持全面
缺点
不支持直接网络访问数据共享
不方便不支持SQL(现在已支持,但应用的不多)
使用bdb在pom文件中加入依赖:

com.sleepycat
je
3.3.75

  <repository><id>oracleReleases</id><name>Oracle Released Java Packages</name>        <url>http://download.oracle.com/maven</url>        <layout>default</layout></repository>

BDB掌握之API应用步骤
拆解数据库
环境变量配置
数据库CRUD操作
数据库关闭数据库
环境变量配置

/** * 初始化数据库参数 */ // 数据库所在的存储文件夹
String dbEnvFilePath = “bdb”;
// 数据库名称
String database = “weibo”;
// 环境变量的声明
Environment myDbEnvironment = null;
// 数据库操作的对象声明
Database weiboDatabase = null;
try { // 初始化数据存储根目录文件夹
File f = new File(dbEnvFilePath);
if (!f.exists()) {
f.mkdirs(); }
// 数据库配置变量初始化
DatabaseConfig dbConfig = new DatabaseConfig();// 打开数据库
dbConfig.setAllowCreate(true); // 初始化环境配置变量,基于该变量去配置环境变量 EnvironmentConfig envConfig = new EnvironmentConfig();
// 当使用的数据库配置变量不存在的时候,就自动创建
envConfig.setAllowCreate(true);
// 正式初始化数据库的环境
myDbEnvironment = new Environment(f, envConfig);
// 打开一个数据库,如果不存在,则自动创建
weiboDatabase = myDbEnvironment.openDatabase(null, database, dbConfig);
} catch (Exception e) {
e.printStackTrace(); }
数据库CRUD操作
数据库创建操作-create
数据记录的增加操作-Add
// 存储数据
// 数据的key
String aKey = “key1”;
// 数据的value
String aData = “data”;
try {
// 将key和value都封装到DatabaseEntry中
DatabaseEntry theKey = new DatabaseEntry(aKey.getBytes(“UTF-8”));
DatabaseEntry theData = new DatabaseEntry(aData.getBytes(“UTF-8”));
// 写入数据库
weiboDatabase.put(null, theKey, theData);
// 对该库进行count操作,查看有多少条数据
System.out.println(weiboDatabase.count());
} catch (Exception e) {
e.printStackTrace(); }
数据读取操作-Read// 读取数据
//要读取数据的key aKey = “key1”;
加粗样式try {
//将读取数据的key封装到DatabaseEntry中
DatabaseEntry theKey = new DatabaseEntry(aKey.getBytes(“UTF-8”)); /
/将读取出来的值以二进制形式放到DatabaseEntry中
DatabaseEntry theData = new DatabaseEntry();
//执行读取操作
weiboDatabase.get(null, theKey, theData, LockMode.DEFAULT);
//将二进制数据转化成字符串值
String result =new String(theData.getData(), “utf-8”);
//打印之
System.out.println(result);
} catch (Exception e) {
e.printStackTrace(); }
数据删除操作-Delete
// 删除数据
//要删除的数据的key
aKey = “key1”;
try { /
/将要删除数据的key封装到DatabaseEntry中
DatabaseEntry theKey = new DatabaseEntry(aKey.getBytes(“UTF-8”));
//执行删除操作
weiboDatabase.delete(null, theKey);
//查看数据库当前的记录数
System.out.println(weiboDatabase.count());
} catch (Exception e) {
e.printStackTrace(); }关闭数据库-Close// 关闭
try {
//先关闭数据库
if (weiboDatabase != null) {
weiboDatabase.close(); }
//再关闭BDB系统环境变量
if (myDbEnvironment != null) {
myDbEnvironment.sync();
myDbEnvironment.cleanLog();
// 在关闭环境前清理下日志
myDbEnvironment.close(); }
} catch (Exception e) {
e.printStackTrace(); }

关于bdb(barkeley database)数据库的总结相关推荐

  1. Database:Database数据库的简介、类型及其区别(关系数据库VS非关系型数据库)、案例应用之详细攻略

    Database:Database数据库的简介.类型及其区别(关系数据库VS非关系型数据库).案例应用之详细攻略 目录 Database数据库的简介 1.掌握数据库的方法-学会sql语言进而学会增.删 ...

  2. LncRNADisease database数据库使用方法

    LncRNADisese database 数据库概览 进入LncRNADisease database主页(见文末),该数据库收录来自实验结果支持的lncRNA与disease关联数据,以及蛋白.m ...

  3. mysql 命令删库名,MySQL控制台删除数据库命令 drop database 数据库名

    MySQL控制台删除数据库命令 drop database 数据库名 分类:数据库| 发布:佚名| 查看: | 发表时间:2014/4/30 命令:drop database 例如:删除名为 camn ...

  4. Oracle Database 数据库

    目录 1. Oracle Database 数据库 1.1. JetBrains DataGrip 1.1.1. 如何查找表 1.2. 创建用户 1.3. 系统用户 1.3.1. 启用 scott 用 ...

  5. 已解决mysql报错ERROR 1049 (42000): Unknown database ‘数据库‘

    已解决mysql报错ERROR 1049 (42000): Unknown database '数据库' 文章目录 报错问题 解决方法 福利 报错问题 粉丝群里面的一个小伙伴敲代码时发生了报错(当时他 ...

  6. Database数据库的分库分表,表映射,切换表,使用到了IModelCacheKeyFactory 代码如下:

    Database数据库的分库分表,表映射,切换表,使用到了IModelCacheKeyFactory 代码如下: using Microsoft.EntityFrameworkCore; using ...

  7. Normalization of Database——数据库的正规化

    Recall: 数据库中的一些术语:(后面的中文可能翻译不准确,我自己这么称呼它们) relation -- 关系模型 tuple entity-- 表中的一条记录,也成为实体 attribute/c ...

  8. My Visual DataBase(数据库编程软件)v5.3免费版

    My Visual DataBase是一款数据库编程软件,它能够帮助用户在没有专家和编程技能的帮助下,创建一个Windows应用程序数据库,并且经过破解之后,更是可以让你轻松使用所有功能,有需要的赶快 ...

  9. mysql - database/数据库

    1.创建database create database [if not exists] <database_name> [[default] character set <char ...

最新文章

  1. 进程状态控制-进程的挂起和激活
  2. 【pytorch】StatScores的原理与使用
  3. python之路之面向对象3
  4. Spring使用到了那些接口/第三方框架
  5. 通过结构体某个成员的地址计算结构体首地址 (转)
  6. IntelliTrace 调试、定位异常
  7. redis 学习笔记(1)-编译、启动、停止
  8. it计算机哪些专业术语,IT之家学院:笔记本电脑专业术语科普
  9. 【R语言】如何直接调取Wind、iFinD数据接口教程
  10. 小白如何开始学习计算机编程?
  11. UDS协议(史上最全)
  12. win10企业版如何安装应用商店-默认没有应用商店
  13. 列主元Guass消去法
  14. 查询在st1公司于2018年制作的电影中出演的影星
  15. python进行电子取证
  16. 第 2-3 课:迭代法计算定积分
  17. python对新媒体运营的帮助_一年新媒体工作积累的经验
  18. [Drools]JAVA规则引擎 -- Drools
  19. Excel常用功能之一
  20. 面试问题1 谈谈你对加班的看法

热门文章

  1. 深圳市及各区高新补贴
  2. 数据结构—个人学习笔记
  3. HC32L110(二) HC32L110 在 Ubuntu 下使用 J-Link 烧录
  4. php聚丙,软托盘是以聚丙烯为主要原料
  5. day05form验证、验证码、cache、cors与celery(任务队列)、CBV
  6. 使用 goaccess 分析 nginx 日志
  7. 最新版wps,设置粘贴默认为无格式文本粘贴,不起作用
  8. 操作手册和用户手册的区别
  9. SQL(Structured Query Language)教程(下)
  10. 小波分析在处理无线信号特征数据中的应用