快速业务通道

借助BeanKeeper快速实现对象持久化 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23

借助BeanKeeper快速实现对象持久化

时间:2010-11-20 IBM 罗后启

引言

NetMind BeanKeeper 是一个开源的 java 对象 / 关系数据库映 射框架,它可以帮助用户快速将对象保存到关系数据库中,同时它也支持自定义 地查询和事务,可以满足用户在各种应用场景的需求。它最大的特点就是简单, 无需配置。同时,它是纯 Java 的,也支持 HSQLDB 和 MySQL 等多种关系数据库。本文将介绍 BeanKeeper 的基本原理和架构,并将其同 Hibernate、Spring 等其他框架进行比较,总结其主要优点。最后将演示一个案例介绍如何借助 BeanKeeper 快捷地实现将 Java 对象保存到关系数据库中。

BeanKeeper 的架构

对象持久性几乎是所有 Java™ 应用程序( 从桌面应用程序到企业级应用程序)中的必备,持久性的缺点是它一直都不太简 单。

面向对象的开发方法是当今企业级应用开发环境中的主流开发方法 ,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关 系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中 表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系 数据无法直接表达多对多关联和继承关系。因此,需要 ORM(Object Relational Mapping)实现程序对象到关系数据库数据的映射。

由于关 系数据库是目前最流行的存储系统,因此要将对象持久化到关系数据库中,我们 就要解决 ORM 的问题。目前主流的 ORM 框架有:Spring、Hibernate 等框架。 它们都存在一个问题是:太复杂了。要利用这些框架进行对象持久化,开发人员 首先要阅读几百页的文档以了解如何使用这些框架,然后又要编写 XML 配置映 射文件以告诉框架如果和进行 ORM。而且一旦对象模型发生改变后又要修改映射 文件。这些都极大地增加了开发人员的学习曲线和工作量,同时也容易出错。而 Bean keeper 的理念是简单的事情简单做,它尽量简化这些操作。

Bean Keeper 是一个基于 LGPL 协议的开源软件,它具有如下特性:

使用简单,你只需要学习 3 个借口就可以基本掌握其使用方法 ;

零配置。除了数据库的连接 URL 外。你不需要其他配置 ;

可扩展性,这个类库支持分布式操作,可以将您的数据进行多拷贝存储和负 载平衡 ;

100% 地透明地支持 List、Map、Set 等集合 ;

自动分页大数据集。分页是 100% 透明地,包含百万条记录的数据集可以直 接地给表现层,而不用担心内存和数据库负载的问题 ;

自定义的面向对象的查询语言,用户不需要编写复杂的 SQL 语句 ;

各种数据库间的可移植性。BeanKeeper 屏蔽了各类数据库之间的差异,比如 对 Null 值的处理,空字符串 (Oracle),查询时大小写敏感,保留字等差异。 这就意味着你可以更改底层的数据库 ;

对事务的支持,能够实现事务的提交和回滚。

下载 BeanKeeper

BeanKeeper 的安装过程很简单。首先,访问 BeanKeeper 站点下载 Jar 包 。目前最新的发布版本是 2.6.0。本文中所有示例也是基于此版本。

BeanKeeper 是基于 LGPL 协议的,你可以在你的商业软件中商业软件通过类 库引用 (link) 方式使用它而不需要开源商业软件的代码。但是如果修改它的代 码或者衍生,则所有修改的代码,涉及修改部分的额外代码和衍生的代码都必须 采用 LGPL 协议。

图 1. BeanKeeper 目前版本

借助BeanKeeper快速实现对象持久化(2)

时间:2010-11-20 IBM 罗后启

此外 BeanKeeper 还依赖于下列类库::

commons-lang-2.4.jar

commons-io-1.4.jar

commons-logging.jar

commons-collections-3.2.1.jar

commons-configuration-1.6.jar

log4j-1.2.15.jar

在本例中,我们使用的是 MySQL 数据库来持久化数据,所以我们还需要下载 MySQL 的 JDBC 驱动:

mysql-connector-java-5.0.8-

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号