Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍 - 编程入门网
odeler 中构建 Query。
图 19. 在 Modeler 中创建 Query Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍(9)时间:2011-02-05 IBM 冯鑫 王颖初 陈宁然后在代码中调用这个 Query 清单 3. 调用并执行在 Modeler 中创建的 Query
DataObject 一个 ORM 框架 , 它的一端连着 Database, 一端连着 Java 对象。因此,这里的 DataObject 可以理解成一个 DB Record 在内存中的对象的映射。它由属性和对象关系组成。在 ORM 中,对数据库表中一行记录的修改转变为对一个 DataObject 属性或关系的修改。其余的操作,包括数据检查,生成 SQL 语句、事务控制、回滚等交由 ORM 框架来完成。 DataObject 可以通过 Query 执行产生,也可以通过用户自己创建产生。 清单 4. 执行 Query 返回 DataObjects 并修改其属性
一个 Demo 为了让读者更好的体会 ORM 以及 Cayenne API, 我们来看一个 Demo。在这个 Demo 中,首先会装载一个 SQL 脚本并初始化数据库表中的基础数据。然后查询所有 Client 信息。最后,模拟一个 client 购买两个商品并生成 Order 的过程。另外,考虑到代码的实用性和可读性,我们创建了一些 DAO 类将 ObjEntity 以及数据库操作做进一步的封装。代码的主要文件结构如图 19 所示。读者也可以在源代码中仔细查看它们的类间关系。 图 19. 工程文件结构 Cayenne,开源ORM盛宴中的另道佳肴,第1部分 - Apache Cayenne基本功能介绍(10)时间:2011-02-05 IBM 冯鑫 王颖初 陈宁清空和装载数据 由于在生成 ObjEntity 时设置了对象间的 Delete Rule, 所以我们可以直接删除 ClientTB 和 CommodityTB 中的数据即可。OrderTB 和 OrderCommodityTB 中的数据将会被级联删除。 清单 4. 清空数据库表的代码
装载原始数据时,我们会通过读取一个 SQL 脚本并生成一个 QueryChain。然后调用 DataContext 执行。 清单 5. 装载数据
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |