您的位置:首页 > 数据库

IBatis.Net系列-多参数的SQL语句的配置

2016-09-07 16:40 260 查看
我们在使用IBatis.net操作数据的时候,肯定会碰到SQL参数
当我们有一个参数时,IBatis的xml映射文件如下:

<statement id="getProduct" parameterClass="System.Int32">
select * from PRODUCT where PRD_ID = #value#
</statement>


当我们有多个参数时,xml如下:

<statement id="getProduct" parameterClass="System.Collections.IDictionary">
select * from PRODUCT
where PRD_CAT_ID = #catId#
and PRD_CODE = #code#
</statement>


在代码中必须赋给他一个Hashtable,并且这个Hashtable具有catId和code两个键值,注意要区分大小写。

HashTable实现了System.Collections.IDictionary接口的,所以直接用他应该也是可以的。

当我们执行存储过程的时候,xml如下:
首先定义参数定义集合

<parameterMaps>
<parameterMap id="insertperson" class="Person">
<parameter property="FirstName" column="PER_FIRST_NAME" />
<parameter property="LastName" column="PER_LAST_NAME" />
</parameterMap>
</parameterMaps>


然后定义操作

<!--使用存储过程-->

<procedure id="InsertPerson3" parameterMap="insertperson" resultMap="SelectResult">
usp_InsertPerson
</procedure>


程序代码如下:

public void InsertPerson3()
{
SqlMapper sqlmap = IBatisNet.DataMapper.Mapper.Instance();

Hashtable ht = new Hashtable();
ht.Add("FirstName","姚");
ht.Add("LastName","明2");

sqlmap.Insert("InsertPerson3",ht);
}


注意:Hashtable中的键值名称和参数集合众的property相对应,并且区分大小写.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: