其实在IBatisNet中使用存储过程应该很简单了,应为IBatisNet本来就是基于Sql Mapping的。想着Npetshop中应该有例子看一下就行了,可是查了查map文件,发现没有,只要自己动手搞搞了。
在建立的测试数据库中建立一个简单的存储过程delUser @userId
*******************************************************
create proc delUser
@UserId varchar(10)
as
begin
delete from users where userId = @UserId
end
*******************************************************
接下来就是修改相应的Map文件了
修改前
….
<delete id="Delete" parameterClass="string" resultClass="int">
delete from Users
where UserId = #value#
</delete>
….
修改后
……
<procedureid="Delete"resultClass="int"parameterMap="proc_delUser_map">
delUser
</procedure>
…
<parameterMaps>
<parameterMapid="proc_delUser_map"class="User">
<parameterproperty="UserId"/>
</parameterMap>
</parameterMaps>
…….
注意:在proceduere 中必须设置parameterMap属性,就是存储不带参数也需要设置,关于存储过程带有Out类型的参数,想着设置应该和上述一样,就没有做测试。