iBATIS.NET處理多參數(shù)的SQL語句的配置
由于本人對iBATIS.NET的并不是很精通,也是在邊學邊工作實踐,所以iBATIS.NET系列的文章會顯的沒有一定的連貫性,
這些文章應該是我平時的關于iBATIS.NET的一些知識的積累吧。下面進入正題:
我們在使用iBATIS.NET操作數(shù)據(jù)的時候,肯定會碰到SQL語句參數(shù)
當我們有一個參數(shù)時,iBATIS的XML映射文件如下:
- ﹤statement id="getProduct" parameterClass="System.Int32"﹥
- select * from PRODUCT where PRD_ID = #value#
- ﹤/statement﹥
當我們有多個參數(shù)時,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兩個鍵值,注意要區(qū)分大小寫。
當我們執(zhí)行存儲過程的時候,xml如下:
首先定義參數(shù)定義集合
- ﹤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中的鍵值名稱和參數(shù)集合眾的property相對應,并且區(qū)分大小寫.
iBATIS.NET下的多參數(shù)SQL語句的配置情況就簡單介紹到這里,希望對你有所幫助。
【編輯推薦】