Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍 - 编程入门网
Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍时间:2011-02-05 IBM 冯鑫 王颖初 陈宁何为 ORM 在正式介绍 Apache Cayenne 的功能之前,首先让我们先来看一下 ORM 是什么,我们为什么需要 ORM。大家知道,持久化(persistence)的目的是为了将内存中的数据或对象保存到存储设备上(如磁盘),其中主要的应用就是保存到关系型数据库,或其他类型的数据库中。而在一些大型的应用程序中,软件设计者都会设计一个持久化层来专门做这样的工作,包括持久化和反持久化(将磁盘上或者数据库中的数据反持久化到内存中)。而 ORM,即对象关系映射,就是数据持久化层的一项重要技术。有了它,软件设计和开发人员就可以更加关注业务逻辑,它会帮助将业务逻辑与数据库操作逻辑分离,实现系统的松耦合关系,从而使得开发人员从繁杂的与有关数据库操作的工作中解脱出来。可以说,一个健壮、优秀的 ORM 框架能够在为我们节省开发时间的同时,还能够提供高效,可靠的数据持久层代码。 为何 Apache Cayenne 首先,Cayenne 是一个完全开源的基于 Apache License 的数据持久化框架。除了具有一般 ORM 工具所具有的特性外,它还具有很多非常好的特性,比如可以将一个或多个模式数据库和 Java 对象绑定,可以对提交和回滚操作做原子化管理,可以对数据库表做逆向工程并生成 Java 代码,支持远程对象持久化等。 不仅如此,对于 DBA 所关心的性能问题,Cayenne 同样也有很好的支持,如 Cache 等等。而这些特性都可以通过它的一个非常易用的可视化工具 CayenneModeler 来配置完成。可以说,这降低了学习者的学习曲线,节省了开发时间。因此,我们将非常愿意通过本篇 Apache Cayenne 基础功能介绍和另一篇文章 Apache Cayenne 高级特性 向您介绍 Cayenne,如何使用 Cayenne,并希望在你学习过这两篇文章后,Cayenne 能够成为您开发企业应用数据库持久层框架中的一个选择。 配置环境和建模 工具下载 可以从 Apache Cayenne 网站上下载稳定版的 Cayenne2.0 安装包。开发工具,我们选择 Eclipse 3.4。因为 Cayenne 是一个数据持久层框架,所以我们还需要一个数据库。这里,我们选择同样开源的且轻量级的 Derby 数据库。 搭建环境 首先,在 Eclipse 中创建一个 Java 工程。然后,将运行 Cayenne 和 Derby 所需要的库文件放到 build path 中。 图 1. 导入 Cayenne 和 Derby 所需的 lib 文件 图 2. 将 lib 文件放到 build path 中 Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍(2)时间:2011-02-05 IBM 冯鑫 王颖初 陈宁完成后,我们再回到 Cayenne 的解压目录下,在 bin 目录中打开 CayenneModeler。 图 3. 打开 CayenneModeler 我们对于 Cayenne 的了解将从这里开始。打开后,我们新建一个工程, 图 4. CayenneModeler 主界面 Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍(3)时间:2011-02-05 IBM 冯鑫 王颖初 陈宁进入到 Cayenne Modeler 的主界面。在导航条上有三个主要的按钮,分别是 Create DataDomain, Create DataNode, Create DataMap。其中,DataDomain, DataNode 和 DataMap 是一个 Cayenne 工程中三个重要的概念。 图 5. 导航条上的 DataDomain, DataNode 和 DataMap 图 6 说明了这三个概念间的关系 图 6. DataDomain, DataNode 和 DataMap 的关系 在一个 Cayenne 应用中可以定义多个 Data Domain,同时,作为虚拟数据源的 Domains 也可以包含多个实体数据源(Data Node)。而不同的数据源又可以对应不同的数据库 Schema 和 Java 对象的映射关系,即 Data Map。因此,Cayenne 可以方便灵活的实现应用程序调 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |