iBATIS.NET处理多参数的SQL语句的配置

开发 后端
iBATIS.NET处理多参数的SQL语句的配置

由于本人对iBATIS.NET的并不是很精通,也是在边学边工作实践,所以iBATIS.NET系列的文章会显的没有一定的连贯性,

这些文章应该是我平时的关于iBATIS.NET的一些知识的积累吧。下面进入正题:

我们在使用iBATIS.NET操作数据的时候,肯定会碰到SQL语句参数

当我们有一个参数时,iBATIS的XML映射文件如下:

  1. ﹤statement id="getProduct" parameterClass="System.Int32"﹥  
  2.   select * from PRODUCT where PRD_ID = #value#  
  3. ﹤/statement﹥ 

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

  1. ﹤statement id="getProduct" parameterClass="System.Collections.IDictionary"﹥  
  2.   select * from PRODUCT  
  3.   where PRD_CAT_ID = #catId#  
  4.   and PRD_CODE = #code#  
  5. ﹤/statement﹥ 

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

当我们执行存储过程的时候,xml如下:

首先定义参数定义集合

  1. ﹤parameterMaps﹥  
  2.  ﹤parameterMap id="insertperson" class="Person"﹥  
  3.   ﹤parameter property="FirstName" column="PER_FIRST_NAME" /﹥  
  4.   ﹤parameter property="LastName" column="PER_LAST_NAME" /﹥  
  5.  ﹤/parameterMap﹥  
  6. ﹤/parameterMaps﹥ 

然后定义操作

  1. ﹤!--使用存储过程--﹥  
  2. ﹤procedure id="InsertPerson3" parameterMap="insertperson" resultMap="SelectResult"﹥  
  3.  usp_InsertPerson  
  4. ﹤/procedure﹥ 

程序代码如下:

  1. public void InsertPerson3()  
  2. {  
  3.  SqlMapper sqlmap = IBatisNet.DataMapper.Mapper.Instance();  
  4.  
  5.  Hashtable ht = new Hashtable();  
  6.  ht.Add("FirstName","姚");  
  7.  ht.Add("LastName","明2");  
  8.  
  9.  sqlmap.Insert("InsertPerson3",ht);  

注意:Hashtable中的键值名称和参数集合众的property相对应,并且区分大小写.

iBATIS.NET下的多参数SQL语句的配置情况就简单介绍到这里,希望对你有所帮助。

【编辑推荐】

  1. iBATIS DAO framework初体验
  2. iBATIS教程之快速入门浅析
  3. iBATIS教程之like语句的写法浅析
  4. iBATIS.NET多数据库支持浅析
  5. iBATIS教程之如何获得output参数值
责任编辑:仲衡 来源: CSDN博客
相关推荐

2009-07-20 13:22:47

iBATIS.Net日

2009-07-16 13:50:31

ibatisResultMap

2009-07-22 14:28:52

iBATIS.NET配

2009-07-20 10:06:07

iBATIS.net查询方式

2009-07-22 14:11:09

配置ibatis.neiBatis.net配

2009-07-22 09:07:01

iBATIS.NET

2009-07-20 15:14:44

iBATIS.NET连

2009-07-21 14:15:00

iBATIS.NET多

2009-07-20 15:27:22

Castle.DynaiBATIS.NET

2009-07-20 14:56:18

iBATIS.NET动态选择DAO

2009-07-21 13:50:00

iBATIS.NET调

2009-07-21 17:06:35

iBATIS.NET执

2009-07-20 09:27:42

IBATIS.netDAO

2009-07-20 09:51:19

iBATIS.net数据库缓存

2009-07-21 15:21:59

iBATIS.NET多

2011-03-15 13:30:27

IBatis.netMySQL

2009-07-17 17:57:20

NPetShop iBATIS.Net

2009-07-20 13:47:08

iBATIS.NET字

2009-07-21 17:39:50

iBATIS的多对多映

2009-07-21 16:30:15

iBATIS.NET与单元测试
点赞
收藏

51CTO技术栈公众号