快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
lass, con); // execute the SQL for getCustomers() and get the results in Customer beans Iterator<Customer> cust = cd.getCustomers(); // the application can now consume the Iterator of Customer beans ...

通过几行代码,就访问了数据库,执行了所需的 SQL 语句,并将结果处理成方便的 Customer 类的数据 bean 的 Iterator,因此应用程序可以直接使用。更加令人印象深刻的是,即使要实现持久层方法,开发人员也只需声明这里所调用的方法。pureQuery 代码生成器和运行时会处理其余的工作。

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

时间:2011-02-14 IBM Heather Lamb

分解带注释的方法风格

本节将这个示例分解成带注释方法编程风格的几个重要组成部分。pureQuery 文档包含对这些和其他 pureQuery 编程概念的完整描述(参见 参考资料)。

pureQuery 接口

在以上例子中,用户定义的 pureQuery 接口被命名为 CustomerData。合理地命名接口,以反映它所代表的信息源,这样做很有帮助,如 Silver Castles 示例一样。例如,CustomerData 方法检索和更新关于公司客户的信息。

如上所述,pureQuery 接口只包含带注释的方法的声明。

带注释的方法的声明

pureQuery 接口中的每个方法声明包含以下必要元素:

三个 pureQuery 注释中的一个:@Select、@Update 或 @Call

对于每个注释,有一个 sql=<string> 元素,其中的 string 包含一个有效的 SQL 语句,这个 SQL 语句将在方法被调用时执行(可选地,也可以在一个 XML 配置文件中提供 SQL 语句)。

一个标准的 Java 方法声明

已声明的返回类型

方法声明的返回类型表明 SQL 语句的结果返回什么样的对象格式。取决于所使用的注释,受支持的返回类型有所不同。例如,对于查询,可以返回各种集合和简单类型。对于更新,可以使用标准的更新计数格式。除了其他格式外, StoredProcedureResult 返回类型可以方便地封装存储过程调用的结果。

还可以由 pureQuery 引擎将结果处理成用户定义 pureQuery bean 的一个集合。在我们的示例中,开发人员声明的返回类型是 Customer bean 的一个 Iterator。pureQuery 使用一组 bean 约定和需求 将数据库查询结果直接映射到用户定义的 bean 类。pureQuery bean 中的注释 可以覆盖默认的映射行为。而且,可以由用户提供的 RowHandler 将结果手动映射到 bean。否则,生成的 RowHandler 将在把 bean 结果返回给调用者之前,自动执行默认的映射,将结果映射到用户定义的 bean 类。

声明的参数类型

带注释的方法声明中的参数类型决定 pureQuery 如何在运行时获得 SQL 语句参数值。SQL 语句中的参数占位符与带注释的方法中声明的参数之间可能存在一对一的映射,但是也不一定如此。pureQuery 遵从 参数占位符语法规则 来决定如何从带注释的方法的参数列表中声明的参数映射 SQL 语句参数。

与其他数据访问 API 相比,pureQuery 中的参数可以采用更多种类的类型。例如,一个声明的 pureQuery bean 参数可以为 一些 SQL 语句参数占位符 提供运行时值。对于 pureQuery 带注释的方法,pureQuery bean 和 Java 集合类型都受支持。请查看带注释的方法 语法图,以获得可能声明的参数类型的完整列表。带注释方法的声明的参数类型可以在很大程度上影响 SQL 语句的执行。例如,可以通过使用带注释的方法 @Update 中的某些参数类型发起批量更新。对于批量更新,需要使用一个集合参数多次执行一条 SQL 语句,每次执行时使用不同的参数值。

带注释的方法的参数可以直接使用,也可以赋给变量,以利用 pureQuery 引擎的特定处理功能。批量更新处理是 pureQuery 引擎底层自动优化代码和改进开发的一个例子。对数据 bean 参数的特殊 pureQuery 处理还可以

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