pureQuery内联方法风格简介

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
  pstmt.execute();
  //get the results and set values in Customer Bean
  ResultSet result = pstmt.getResultSet ();
  List<Customer> custList =
  new ArrayList<Customer>();
  while (result.next ()) {
  Customer cust = new Customer();
  cust.name = result.getString (1);
  cust.country = result.getString (2);
  cust.street = result.getString (3);
  cust.province = result.getString (4);
  cust.zip = result.getString (5);
  custList.add (cust);
  }
}
catch (SQLException e) {
  e.pringStackTrace ();
}

时间: 2025-01-02 00:19:55

pureQuery内联方法风格简介的相关文章

pureQuery带注释的方法风格简介

pureQuery 是一种高性能 Java 数据访问平台,其目标主要是简化数据访问应用程序的开发和管理.它由工具.API 和运行时组成.本文介绍 pureQuery 带注释的方法风格 -- 这是一种简单.灵活的风格,属于命名查询(named-query)范例,可以静态或动态地执行 SQL.本文先解释为什么开发人员要选择使用带注释的方法风格编写 pureQuery 应用程序,再解释带注释的方法风格与 pureQuery 内联编程风格之间的差异,并简要概述 pureQuery 带注释的方法的强大特性

最牛X的 GCC 内联汇编

正如大家知道的,在C语言中插入汇编语言,其是Linux中使用的基本汇编程序语法.本文将讲解 GCC 提供的内联汇编特性的用途和用法.对于阅读这篇文章,这里只有两个前提要求,很明显,就是 x86 汇编语言和 C 语言的基本认识. 1. 简介 1.1 版权许可 Copyright (C) 2003 Sandeep S. 本文档自由共享;你可以重新发布它,并且/或者在遵循自由软件基金会发布的 GNU 通用公共许可证下修改它;也可以是该许可证的版本 2 或者(按照你的需求)更晚的版本. 发布这篇文档是希

GCC 内联汇编 HOWTO

v0.1, 01 March 2003. 本 HOWTO 文档将讲解 GCC 提供的内联汇编特性的用途和用法.对于阅读这篇文章,这里只有两个前提要求,很明显,就是 x86 汇编语言和 C 语言的基本认识. 1. 简介 1.1 版权许可 Copyright (C) 2003 Sandeep S. 本文档自由共享:你可以重新发布它,并且/或者在遵循自由软件基金会发布的 GNU 通用公共许可证下修改它:也可以是该许可证的版本 2 或者(按照你的需求)更晚的版本. 发布这篇文档是希望它能够帮助别人,但是

浅谈VC++中的内联_C 语言

内联的语法 在类声明中定义方法: 内联方法放在类声明之外,但必须出现在头文件中,且内联方法声明中使用inline标识: 注:inline只是对编译器的建议,是否内联的决定权在编译器: 内联节省的开销 函数调用开销 调用间优化 优秀的编译器可是内联方法的边界难以区分(将代码内联后,对代码进行重新排列) 内联带来的问题 代码膨胀(空间开销) 由于代码膨胀带来的页面缓存命中率下降 编译时间增加 修改文件后相关文件都需要重新编译: 由于函数边界模糊,该内联函数遇到问题后不好排查: 内联函数的建议 优化时

js中的parseInt()只能获取css内联样式的值比如以下代码,还有其他方法获取css里的值么?

问题描述 js中的parseInt()只能获取css内联样式的值比如以下代码,还有其他方法获取css里的值么? 解决方案 document.getElementById("stty").style.width 这个值是带px的 改成 alert(parseInt(document.getElementById("stty").style.width.replace('px',''))) 解决方案二: 如果没有显示的指定的话,很多值都是空的,例如: div1.scro

内联过滤器正则表达式在google analytics中的使用方法

Google Analytics和百度统计都是网站常用的网站流量分析工具,与其他流量统计工具不同,Google Google Analytics和百度统计不只记录点击流数据,更注重点击流的分析与测量:并尽量将这些结果向Web分析和网络营销引导.   了解用户访问习惯,对投放搜索引擎广告的广告主来说至关重要.随着智能终端的普及,使用移动搜索的用户会越来越多,广告主使用谷歌分析(Google Analytics)可以了解访问自己网站的用户是使用台式机电脑,还是移动手机.广告主就可以根据这两种人群不同

Google analytics内联过滤器正则表达式的使用方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 近来顺利通过google analytics的资格考试,花了50$.今天为大家免费送上google analytics内联过滤器正则表达式的使用方法.首先为大家介绍一下什么是内联过滤器. 大家知道google analytics(以下简称GA)看80多个报表的时候,都是默认10行,但我们可以自己在底下设置显示最高至500行,对于中小型企业网站

js获取内联样式的方法_javascript技巧

本文实例讲述了js获取内联样式的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,in

在Visual C++中使用内联汇编

一.内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便.内联汇编主要用于如下场合: 1.使用汇编语言写函数: 2.对速度要求非常高的代码: 3.设备驱动程序中直接访问硬件: 4."Naked" Call的初始化和结束代码. //(."Naked",理解了意思,但是不知道怎么翻译,大概就是不需要C/C++的编译器(自作聪明)生成的函数初