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使用简单,就是配置要注意,注意大小写敏感,一般是不会出错的~

浙公网安备 33010602011771号