在IBatisNet中使用存储过程

 

其实在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>

….

 

修改后

……

 

  <procedure id="Delete"resultClass="int" parameterMap="proc_delUser_map">

        delUser

    </procedure>   

   

   

   

    <parameterMaps>

        <parameterMap id="proc_delUser_map" class="User">

            <parameter property="UserId" />

            </parameterMap>

    </parameterMaps>

…….

注意:在proceduere 中必须设置parameterMap属性,就是存储不带参数也需要设置,关于存储过程带有Out类型的参数,想着设置应该和上述一样,就没有做测试。

 

看起来在IBatisNet中使用存储过程还是比较容易的。越来越喜欢IBatisNet了,觉得比Nhibernate灵活,并且比Nhibernate的配置简单好学。当然IbtaisHibernate侧重点不同,算是各有千秋吧,都是不错的数据层框架。
posted @ 2005-12-22 15:25  雨人(ralpher)  阅读(1430)  评论(0编辑  收藏  举报