JDBC呼叫儲存過程

2021-08-23 11:46:34 字數 1374 閱讀 1127

通過jdbc呼叫儲存過程

有進要通過jdbc呼叫儲存過程,來說一下怎樣來實現?

在我見過的有兩種情況:

1)返回乙個結果集(resultset)。

2)返回乙個特定的值。

下面來詳細的說明。

1)返回乙個結果集(resultset),這種類似通常的處理結果集

如果事先就有乙個類似如下的procedure

create procedure getshipquantity @jsid int  as

select jf_js_id,sum(jf_ship_quantity) as shipqty

from tjobsheet_finish f where (jf_js_id=@jsid)

group by jf_js_id

那麼我們將通過如下的**來呼叫

string sql = "";

connection con = getsession().connection();//通過hibernate得到的連線

resultset rs = null;

bigdecimal shipquantity = new bigdecimal(0);

trylogger.debug("shipquantity --------------------- "+shipquantity);

}catch(exception e)

2)返回乙個特定的值。也就是說,在procedure的定義中已經用output輸出引數了。請看下面的proceduer

create procedure getsinglewgt @@singlewgt numeric(8,3) output,@jsnum varchar(11) = '0000-0480'

asdeclare @stwgt numeric(8,3)

select  @stwgt = sum(b.stwgt)

from js as a

inner join jsactdtl as b

on a.jsnum = b.jsnum

where a.completion = 1

and b.stflag = 22

and a.jsnum = @jsnum

select @@singlewgt = (@stwgt/orderedqty)  from js where jsnum = @jsnum

那麼我們將通過如下的**來呼叫

string sql = "";

connection con = getsession().connection();//得到connection

try}catch(exception e)

jdbc呼叫儲存過程

一 在mysql中編寫儲存過程 delimiter create procedure demosp in inputparam varchar 255 inout inoutparam varchar 255 begin select concat zyxw inputparam into inou...

JDBC呼叫儲存過程

public int addordelagentperson string strtableid,string struserid,string stragentid,string strtype throws exception int count 0 trycatch exception e f...

初學JDBC,呼叫儲存過程

在jdbc簡單封裝的基礎上實現 public class userdao 呼叫資料庫adduser儲存過程,有四個引數,最後乙個引數是輸出新資料的id callablestatement conn.preparecall sql callablestatement.setstring 1,test ...