快速业务通道

pureQuery带注释的方法风格简介 - 编程入门网

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

图 1. pureQuery 带注释的方法的代码生成

pureQuery带注释的方法风格简介 - 编程入门网

pureQuery带注释的方法风格简介(2)

时间:2011-02-14 IBM Heather Lamb

一个有趣的例子

本节介绍一个虚构的例子:Silver Castles 的数据访问开发小组,Silver Castles 是一家正在不断发展的公司,销售各种银制产品。该公司正在 Silver Castles 网站上开发一个新的基于 Web 的店面,并且已经决定使用 pureQuery 环境来开发数据访问应用程序的持久层。当他们观看了 pureQuery 工具演示 并阅读了 pureQuery 教程 之后,很快就决定使用 pureQuery。他们了解到,使用 motivating 快速开发、测试和部署用于多平台的基于 Java 的数据访问持久层非常容易。当这个小组决定何时使用带注释的方法编程风格、何时使用内联编程风格时,还会受到其他一些因素的影响。有一个叫做 Bob 的开发人员决定成为带注释的方法编程风格方面的专家。他收集了一些知识,以帮助小组决定何时使用这两种编程风格,后面介绍了这些知识。

决定使用带注释的方法

Bob 首先审视了带注释的方法编程风格。几小时后,他回到小组,并给出一份清单,上面列出带注释的方法风格的一些亮点。

范例:

遵从命名查询的风格,目标是等同或超过现有对象-关系映射器和持久化解决方案的功能

鼓励将持久层(CRUD)语句与应用程序在带注释接口中的其余部分分离。其结果是,开发中对 SQL 语句的更改不会扩散到整个应用程序,也不会影响负责其他层的开发人员。带注释的接口为管理整个应用程序的 SQL 语句提供一个集中控制点。

SQL 语句文本是在开发时知道的。但是可以提前对 SQL 语句文本进行分析,以便开发人员优化输出对象的分配。

静态支持:

pureQuery 带注释的方法编程风格使得执行静态 SQL 成为一个部署选项,而不是设计选项。带注释的方法代码可以动态地部署,也可以使用 IBM Data Servers 上的静态 SQL 包来部署,而不必修改任何代码

从应用程序开发人员和前端应用程序的角度透明转换到静态执行。

选择针对静态执行进行部署可以获得静态 SQL 的全部好处:安全、性能、监控和预运行时优化。

代码生成:

最小化手动编写代码:先声明接口方法签名和 SQL 语句,然后由 pureQuery 代码生成器产生数据访问代码实现。

返回查询结果,由 pureQuery 预处理为多种对象,例如已填充的 pureQuery bean 的 Iterators,或者列名的 Lists,或者列值 Maps。

要对数据访问进行预处理和后处理,使用 Hook 定制生成的代码的行为。

使用 XML 配置文件 为每个目标数据库定义不同的 SQL。

开发和使用带注释的方法

下面的清单 1 显示了 Bob 编写的 pureQuery 接口的一部分,亲自体验带注释的方法风格。他使用该接口向小组成员解释带注释的方法风格的基础。pureQuery 带注释的接口是带注释的方法风格的构建块。pureQuery 接口由以下部分组成:

一个 Java interface 定义包含:

一个或多个方法声明

对于每个方法声明,有一个 pureQuery 数据访问注释 - @Select、@Update 或 @Call。每个注释包括一个 SQL 语句,其中包含方法被调用时要执行的 SQL 语句(也可以选择在一个配置文件、而不是注释元素中提供该 SQL 语句)。

对于每个方法声明,有一个 Java 返回类型,表明 pureQuery 运行时将数据访问结果返回给调用者时需要使用的对象格式。

对于每个方法签名,有一些 Java 参数类型,包括表明用于执行 SQL 语句的参数的对象类型。

除了以上描述的那些方法声明或定义外,接口定义文件不包含任何其他方法声明或定义。定义好 pureQuery 接口之后,应用程序的其他层在概念上可以将该接口当作一个数据库 —— 可以很容易地通过调用声明的 Java 数据访问方法来从 Java 中访问。当另一个应用程序层调用一个带注释的方法时,它将收到执行相关联的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号