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

本文介绍了使用 IBatis.net 框架进行数据操作时如何处理 SQL 参数,包括单参数、多参数及存储过程调用的具体配置方法,并给出了相应的 C# 代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在使用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相对应,并且区分大小写.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值