pureQuery带注释的方法风格简介 - 编程入门网
图 1. 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |