快速业务通道

pureQuery内联方法风格简介 - 编程入门网

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

pureQuery内联方法风格简介

时间:2011-02-14 IBM Daya Vivek

IBM® pureQuery 是一种高性能 Java™ 数据访问平台,其目标主要是简化数据访问应用程序的开发和管理。它由工具、API 和运行时组成。pureQuery 引入了两种编程风格,以帮助用户通过简单但是强大的 API 访问数据库。本文介绍其中的一种风格,即内联方法编程风格,并讨论如何使用它有效地查询和更新数据库。本文还探索使用内联方法编程风格的一些优点和关键特性。

简介

pureQuery 为 SQL 执行引入了两种编程风格:内联方法编程风格和带注释的方法编程风格。这些编程风格为存储和检索对象(例如 Java bean 和 map)提高了现成的支持,从而简化了 Java 数据访问开发。内联编程风格还支持使用定制的用户定义的结果处理。

带注释的方法风格提供一种基于注释的数据访问方法。在带注释的方法风格中,SQL/XQUERY 字符串是在一个 pureQuery 注释(Annotation)中定义的。这些注释被放在用户定义接口中的方法声明上。代码生成器对接口进行预处理,生成每个带注释的方法的实现代码。生成的实现代码使用 pureQuery 运行时执行注释中定义的 SQL 语句。要了解关于带注释的方法风格的更多信息,请参阅本系列的 第 1 部分 或 pureQuery 文档。

pureQuery 内联编程风格的目的是减少使用 JDBC 查询或更新数据库时常见的一些重复任务。内联方法风格引入了一组定义良好的、有效的 API,它们比 JDBC 更简单,更易于使用。在内联风格中,可以在代码中像 Java String 对象一样 “内联” 地创建 SQL/XQUERY 语句。这种动态生成的语句被作为 String 参数传递给 pureQuery Data 接口方法。内联风格使用 JDBC 最佳实践,并利用特定于数据库的 API 来提高性能。内联方法风格的一个例子是使用批量更新和改进的结果集处理。在带注释的方法风格中,SQL 必须在编译时定义,而内联方法则不同,它支持在运行时动态创建和执行 SQL 语句。在应用程序中,SQL 是 “内联” 和可见的,因此更容易发现错误并做出更正。内联风格还有一个可插入式定制结果处理,用于轻松地映射数据库列。

表 1 中的代码片段演示了内联方法风格的简单性和易用性。

表 1. JDBC 与 pureQuery 内联风格之间的代码比较

JDBC

try {   //SQL for insert   String sqlins="''insert into CUSTOMER ("   +  "NAME, COUNTRY, STREET, CITY, PROVINCE, ZIP,"   +  "PHONE,INFO)"   +  "values( ?, ?, ?, ?, ?, ?, ?, ?)";   //prepare the INSERT statement   PreparedStatement pstmt =     con.prepareStatement(sqlins );   // setup parameters   pstmt.setString (1, "custName");   pstmt.setString (2, "custCountry");   pstmt.setString (3, "custStreet");   pstmt.setString (4, "custCity");   pstmt.setString (5, "custProvince");   pstmt.setString (6, "custZip");   pstmt.setString (7, "custPhone");   pstmt.setString (8, "custInfo");   //execute the INSERT statement   pstmt.execute();   //close the prepared statement   pstmt.close();   // SQL for SELECT   String sqlSel = "select Name, Country, Street, "   + "Province,Zip from CUSTOMER where Customer = ?";   //prepare the SELECT statement   pstmt = con.prepareStatement(sqlSel);   //set the Input parameter   pstmt.setString (1, "custCountry");   //execute SELECT statement   pstm

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