WEB开发网
开发学院数据库DB2 使用 Spring 框架调用 DB2 存储过程 阅读

使用 Spring 框架调用 DB2 存储过程

 2008-09-09 16:30:07 来源:WEB开发网   
核心提示: 实例将实现在页面表单输入客户代码custNum,然后通过存储过程查询数据库中客户信息,使用 Spring 框架调用 DB2 存储过程(2),得到所有客户信息和所查客户信息,并将其返回结果在页面上显示,在这里我们远程的DB2主机地址是zxl01.cn.ibm.com,端口是50001清单1d

实例将实现在页面表单输入客户代码custNum,然后通过存储过程查询数据库中客户信息,得到所有客户信息和所查客户信息,并将其返回结果在页面上显示。您可以下载实例代码,代码可以在Eclipse环境中运行,对照代码看这篇文章更直观。

1. 编写DB2存储过程

我们首先来看DB2的存储过程。存储过程一般被用来返回数据库中表的数据或者对表的数据进行更改。在这里我们使用存储过程从表中获得结果集。

首先我们需要建立DB2环境:

1) 把远程DB2服务器编制到本地。在这里我们远程的DB2主机地址是zxl01.cn.ibm.com,端口是50001

清单1

db2 CATALOG TCPIP NODE node01 REMOTE zxl01.cn.ibm.com SERVER 50001

2) 在本地建立远程DB2的别名。在这里我们使用testDB作为别名。

清单2

db2 CATALOG DB testDB AT NODE node01

3) 创建customer数据表

清单3

DROP TABLE DSW.CUSTOMER
@
CREATE TABLE DSW.CUSTOMER
(
  CUST_NUM         VARCHAR(10) NOT NULL,
  CUST_NAME        VARCHAR(35) NOT NULL,
  ADDRESS         VARCHAR(35) NOT NULL,
  CITY           VARCHAR(35) NOT NULL,
  COUNTRY         VARCHAR(3) NOT NULL,
  ADD_DATE         TIMESTAMP   NOT NULL
)
@
ALTER TABLE DSW.CUSTOMER
  ADD CONSTRAINT CUSTOMER_PK
PRIMARY KEY (CUST_NUM)
@

4) 创建存储过程

清单4

DROP PROCEDURE DSW.S_CUSTOMER
@
CREATE PROCEDURE DSW.S_CUSTOMER (
 OUT poStatus   INTEGER,
 IN piCust_num   VARCHAR(10)
)
LANGUAGE SQL
SPECIFIC DSW.S_CUSTOMER
RESULT SETS 2
P1: BEGIN NOT ATOMIC
  -------------------------------------------------------------
  -- CONDITION declaration
  -------------------------------------------------------------
  DECLARE sqlReset  CONDITION for sqlstate '80100';
  -- Generic Variables
  DECLARE SQLCODE   INTEGER    DEFAULT 0;
  DECLARE SQLSTATE   CHAR(5)    DEFAULT '00000';
 
  -- Generic handler variables
  DECLARE hSqlcode   INTEGER    DEFAULT 0;
  DECLARE hSqlstate  CHAR(5)    DEFAULT '00000';
  DECLARE v_Cnt INT;
  -- Cursor for returning RS to the client
  DECLARE cursor1 CURSOR WITH RETURN TO CLIENT FOR (
    SELECT CUST_NUM, CUST_NAME FROM DSW.CUSTOMER
  );
  DECLARE cursor2 CURSOR WITH RETURN TO CLIENT FOR (
    SELECT * FROM DSW.CUSTOMER
    WHERE CUST_NUM = piCust_num
  );
 
  OPEN cursor1;
 
  OPEN cursor2;
  SET poStatus = 2;
  RETURN poStatus;
END P1
@

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 Spring 框架

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接