企业网站需要什么功能西安网站seo推广厂家
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(); }
