ibatis教程之調用帶參數的存儲過程

ibatis調用帶參的存儲過程,包括存儲過程帶有多個輸入輸出參數,整個開發過程以下: java

1. 編寫存儲過程,如下存儲過程分別帶有三個輸入參數,兩個輸出參數。 this

CREATE PROCEDURE [dbo].[sp_statJB](@cyear   char(4)  ,@halfyear varchar(10),@empflag char(1),@result1  varchar(10) out ,@result2  varchar(10) out) 開發

AS BEGIN get

SET NOCOUNT ON; 配置

set @result1=dbo.f_getJBamount(@cyear,@halfyear,1,’公有經濟’) jdbc

set @result2=dbo.f_getJBamount(@cyear,@halfyear,0,’高等教育’) 程序

END call

 

2.編寫ibatis的配置文件 配置文件

<parameterMap id=」statisticalDataMap」> 存儲過程

<parameter property=」cyear」 jdbcType=」VARCHAR」 javaType=」java.lang.String」 mode=」IN」/>

<parameter property=」halfyear」 jdbcType=」VARCHAR」 javaType=」java.lang.String」 mode=」IN」/>

<parameter property=」empflag」 jdbcType=」VARCHAR」 javaType=」java.lang.String」 mode=」IN」/>

<parameter property=」result1″ jdbcType=」VARCHAR」 javaType=」java.lang.String」 mode=」OUT」/>

<parameter property=」result2″ jdbcType=」VARCHAR」 javaType=」java.lang.String」 mode=」OUT」/>

</parameterMap>

 

<procedure id=」getStatisticalData」  parameterMap=」statisticalDataMap」>    <![CDATA[       { call sp_statJB(?,?,?,?,?)}    ]]> </procedure>

 

 

3編寫java程序,傳遞參數並獲取結果

Map<String,String> paramMap=new HashMap<String, String>();

paramMap.put(「cyear」, 「2012″);

paramMap.put(「halfyear」,」下半年」);

paramMap.put(「empflag」, 「0″);

getSqlMapClientTemplate().queryForObject(this.getNameSpace()+」getStatisticalData」,paramMap);

if(paramMap.get(「result1″)!=null)

{    

return Integer.parseInt(paramMap.get(「result1″).toString());  

 }

else{

   return 0;  

 }

相關文章
相關標籤/搜索