新或调用方法。
Silver Castle 示例
本节介绍一个示例,看看虚构的 Silver Castles 公司的数据访问开发小组如何使用 pureQuery。本文使用这里描述的背景信息展示针对每个 pureQuery 内联特性的例子和用例。
Silver Castle 示例的背景信息
Silver Castles 是一家正在发展中的公司,销售各种银制品。这家公司正在开发一个新的基于 Web 的店面,并且已经决定使用 pureQuery 环境作为开发应用程序持久层的工具。开发小组对 pureQuery 工具环境有了深刻的理解后,他们开始深入研究 pureQuery 内联编程风格的各个技术特性。
示例内联方法风格编程
Silver Castle 开发小组定义了 Customer 表,如下所示:
清单 1. 数据库中定义的 Customer 表
CREATE TABLE PDQ_SC.customer(
Cid INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (STARRT WITH 100, INCREMENT BY 1),
Name VARCHAR(128),
Country VARCHAR(128),
Street VARCHAR(128),
City VARCHAR(128),
Province VARCHAR(128),
Zip VARCHAR(128),
Phone VARCHAR(128),
Info VARCHAR(128),
CONSTRAINT CID_PK primary key(Cid));
用于这个 Customer 表的 pureQuery bean 可以使用 Data Studio tool 生成。这个 Customer bean 定义如下:
清单 2. Customer 类
public class Customer {
// Class variables
@Id
@GeneratedKey
public int cid;
public String name;
public String country;
public String street;
public String city;
public String province;
public String zip;
public String phone;
public String info;
public Customer(){}
public Customer(String name, String country, String street, String city, String province,
String zip, String phone, String info){
this.name = name;
this.country = country;
this.street = street;
this.city = city;
this.province = province;
this.zip = zip;
this.phone = phone;
this.info = info;
}
}
pureQuery内联方法风格简介(4)
时间:2011-02-14 IBM Daya Vivek
现在,Silver Castles 开发小组尝试创建一个测试程序(清单 3),执行以下操作:
获得一个到数据库的连接
获得 Data 接口实现的一个实例
删除数据库中的所有行
使用 pureQuery bean 作为输入参数插入一行
查询数据库并在 pureQuery bean 的一个迭代器中检索行
清单 3. 使用内联方法风格操纵数据对象
package com.ibm.db2.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Iterator;
import java.util.List;
import com.ibm.db2.pureQuery.Customer;
import com.ibm.pdq.runtime.Data;
import com.ibm.pdq.runtime.factory.DataFactory;
public class InlineTest
{
public static void main(String args[]) {
Connection con = null;
String sql = null;
String insertSql = null;
try {
// connection to the database
con = DriverManager.getConnection ();
// Get an instance to the implementation of a Data interface
Data data = DataFactory.getData (con);
//delete all rows from the table
data.update ("delete from PDQ_SC.customer");
//Insert using a pureQuery Bean
insertSql = "INSERT INTO PDQ_SC.customer (Name, Country, Street, City, " +
"Province, Zip, Phone)" +
"VALUES(:name,:country,:street,:c
|