由于本人对iBATIS.NET的并不是很精通,也是在边学边工作实践,所以iBATIS.NET系列的文章会显的没有一定的连贯性,
这些文章应该是我平时的关于iBATIS.NET的一些知识的积累吧。下面进入正题:
我们在使用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两个键值,注意要区分大小写。
当我们执行存储过程的时候,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相对应,并且区分大小写.
iBATIS.NET下的多参数SQL语句的配置情况就简单介绍到这里,希望对你有所帮助。
【编辑推荐】