Ibatis调用存储过程返回参数

众所周知,Ibatis的核心就在于映射文件(Data Map XML File),在调用存储过程返回取得返回参数的过程中,最有可能出错的地方,就是映身文件的配置

我的开发环境地是(VS2008(.Net2.0)+Win2003Server+Oracle 10g)

直接进入主题,先来看一个资料

调用存储过程只能用到<procedure>(当然,我在博客园也见到一些朋友介绍说可以使用<statement>标签,但经过小弟在测试调用Oracle数据库一直报错String类型没有长度限制,后来改成<procedure>就正常了)

<statements>
<procedure id="testProcedure" parametersMap="paramMap">
    Test.TestProcedure
</procedure>
</statements>

<parameterMaps>
    
<parameterMap id="paramMap" class="Hashtable">
      
<parameter property="ID" column="PS_ID" />
      
<parameter property="UserName" column="PS_USERNAME" />
      
<parameter property="PassWord" column="PS_PASSWORD" />
      
<parameter property="returnValue" column="PS_RETURNVALUE" direction="Output" />
    
</parameterMap>
</parameterMaps>

 

class一定设置class="Hashtable",当然也可以根据你的实际情况填写;在本文中是以Hashtable为例

Column属性一定要全部大写,否则会报错,找不到该参数(Oracle)

Hashtable map = new Hashtable();
map.Add(
"ID"1);
map.Add(
"UserName""user");
map.Add(
"PassWord""pwd");
map.Add(
"returnValue"-1);

mapper.Insert(
"testProcedure", map);

Console.WriteLine(map[
"returnValue"].ToString());

 

 Ibatis使用简单,就是配置要注意,注意大小写敏感,一般是不会出错的~

 

 

posted @ 2008-09-28 22:38  bino  阅读(2749)  评论(0编辑  收藏  举报