`
mengyang
  • 浏览: 266105 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论
文章列表
  最近学习了下Tiles,准备应用到实际项目中,由于还使用了Spring MVC,所以需要把Tiles集成到Spring MVC中。   Tiles是的版本是2.2.2,Spring版本是3.1.0M2.   步骤挺简单 [list] 创建布局文件 <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles"%> <HTML> <HEAD> <title><tiles:getAsString name=&quo ...
本篇开始讲解BerkeleyDB的事务管理 显然,作为一个成熟的数据库产品,都必须提供事务机制来保证数据的ACID特性。我们之前讲的BerkeleyDB都没有在事务环境中进行操作。现在我们开始讲解如何使用事务,以及配置事务的各种特性。 ...
   本篇继续介绍Secondary Databases,主要介绍如何使用Secondary Databases。    一.读记录    从Secondary Databases中读取数据跟一般数据库中读取数据没啥两样,最大的区别在于返回的key和data是来自于Primary Database中的。例如下面的例子使用上面一篇创建的Secondary Data,根据名字来查询用户信息。 try { String searchName = "John Doe"; DatabaseEntry searchKey = new Data ...
   本篇开始介绍二级数据库(Secondary Databases)的使用。    通常情况下,我们根据key值来查找JE中的记录,但是key值不一定会包含你所要想要查询的值,比如JE中有个用户库,你使用一个唯一的没有什么意义的ID作为key值,而data值 ...
本篇继续介绍游标的使用,使用游标来增删改记录 一.增加记录当你使用游标来插入记录的时候,游标将位于插入的记录的位置。游标提供了下面几个API来插入记录。 Cursor.put() 插入一条记录,如果记录的key值已存在于数据库中,当数据库不支持重复记录时,旧的记录会被替换;否则会插入一条重复记录。 Cursor.putNoDupData() 当要插入的记录键和值都存在的时候,则返回OperationStatus.KEYEXIST,并且新记录无法插入。 Cursor.putNoOverwrite() 当要插入的记录的键已存在的时候,则返回OperationStatus.KEYEXIST, ...
本篇开始介绍游标(Cursors)的应用,主要介绍打开关闭游标以及使用游标来定位记录。 在JE中你可以使用游标来遍历记录,还可以使用游标来增删改记录。同时游标还是唯一一种可以用于访问重复记录集中记录的机制。 一.打开 ...
本篇开始介绍使用比较器 JE中的数据库内部是使用B树来组织的,这意味着大多数数据库操作(插入,删除,读取,等等)涉及B树节点的比较。这种比较一般情况下是基于记录的键,但是如果你的数据库支持重复数据,那么比较 ...
本篇开始介绍BIND APIs 我们已经知道,要想在JE中读写数据,必须借助DatabaseEntry对象,而原始数据和DatabaseEntry对象之间的转换,实际上要做的就是把数据转化为字节数组或者是把字节数组组装成数据。除了String类型和布尔型的数据,要进行这样的转换则必须使用JE中的BIND APIs。 可以使用BIND APIs的数据基本上分为三种: 简单类型的数据 实现了serialization接口的复杂类型数据 没有实现serialization接口的复杂类型数据 以上三种数据使用BIND APIs的方式是各不相同的。 一.简单类型的数据 简单类型的数据包括了:Strin ...
本篇介绍使用BaseAPI来操作Java简单类型的数据。 首先我们知道JE中的数据库是键值对的集合,那么数据库中的每一条记录都是一个键值对。键和值可以是任何简单类型的对象,也可以是自定义的复杂类型的对象。在JE中是用 DatabaseEntry类来表示键和值的。这个类可以持有任何类型的数据,只要这个数据可以转化为字节数组。 我们现在演示下字符串类型的数据转化为DatabaseEntry String aKey = "key"; String aData = "data"; try { DatabaseEntry theKey = new ...
本篇开始介绍JE的具体使用。 在JE中,一个数据库(database)就是一系列键值对的集合。你可以把JE中的数据库理解为只有两个列的表,一个列是键,一个列是值。同时要注意的是,键和值可以是简单的数据类型,比如数字型或字符串型,也可能是复杂的对象类型。我们可以使用database来管理键和值,比如对它们的增删改操作。 下面演示打开和关闭database。 Environment myDbEnvironment = null; Database database = null; try { EnvironmentConfig envConfig = new Envi ...
现在使用JE中的DPL来演示Hello World,使用DPL非常像Hibernate之类的ORM框架,把数据库中的每条记录都用一个bean来表示,其他的CRUD操作想较于BaseAPI也简单了很多。 /** * 代表了数据库中的记录 */ @Entity class SimpleBean { @PrimaryKey private String key; private String value; public String getKey() { return key; } public void setKey(String key) ...
在进一步介绍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; privat ...
Environments封装了一个或多个的数据库。个人觉得可以理解为是JE的总的配置的环境。我们一般用它来打开database,或者是取得transaction。 下面演示打开和关闭Enviroment。 Environment myDbEnvironment = null; try { EnvironmentConfig envConfig = new EnvironmentConfig(); envConfig.setAllowCreate(true); myDbEnvironment = new Environment(new File("/e ...
Berkeley DB Java Edition(JE)是一个使用纯java编写的通用的,支持事务的,嵌入式的数据库。它让java开发人员可以安全而有效的在进程中存储和管理任意的数据。 JE提供了两种API供开发人员选择开和数据库交互。 直接持久层(DPL) ...
   JGroups是一个组播通信工具,它可以: 创建和删除一个组 加入和离开某个组 管理组成员关系,当有新的成员进入或存在的成员离开的时候会通知组内其它成员 侦测和移除出现故障的组成员 发送单播消息(unicast,point-to-point ...
Global site tag (gtag.js) - Google Analytics