精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

iBATIS.net常用的查詢方式淺析

開發 后端
iBATIS.net常用的查詢方式有哪些呢?本文就向你介紹iBATIS.net常用的查詢方式相關的信息。

在項目開發過程中,查詢占了很大的一個比重,一個框架的好壞也很多程度上取決于查詢的靈活性和效率。

在IBatis.Net中提供了方便的數據庫查詢方式。

在Dao代碼部分主要有兩種方式:

1、查詢結果為一個對象:

  1. ISqlMapper sqlMap = sqlMapDaoSession.SqlMap;  
  2.  
  3.  return (Account) sqlMap.QueryForObject("GetAccountViaColumnName", accountID); 

2、查詢結果為一個列表:

  1. ISqlMapper sqlMap = sqlMapDaoSession.SqlMap;  
  2.  
  3. return (ArrayList)sqlMap.QueryForList("GetAccountAsHashtableResultClass", 1); 

這兩種方法同時都提供了面向泛型的重載方法。這兩個方法的第一個參數對應配置文件中的select id,第二個參數表示傳入查詢的條件

配置文件的寫法:

在IBatis.Net中提供了多種查詢配置的寫法,我這里列出幾種比較常用的方式:

1、獲得一張表的所有數據

  1. select id="GetAllAccountsAsHashMapViaResultMap" 
  2.                 resultMap="account-hashtable-result"﹥  
  3.     select *  
  4.     from Accounts  
  5.     order by Account_ID  
  6. ﹤/select﹥ 

這是最簡單的方式,其中resultMap是返回查詢結果的形式,需要另外配置:

  1. ﹤resultMap id="account-hashtable-result" class="Hashtable"﹥  
  2.     ﹤result property="Id"           column="Account_ID"/﹥  
  3.     ﹤result property="FirstName"    column="Account_FirstName"/﹥  
  4.     ﹤result property="LastName"     column="Account_LastName"/﹥  
  5.     ﹤result property="EmailAddress" column="Account_Email"/﹥  
  6. ﹤/resultMap﹥ 

表示:得到的結果的每一條記錄都映射成一個Hashtable,這個Hashtable中包含四個Key(Id,FirstName......)

2、根據條件查詢(簡單方式):

  1. select id="GetAccountViaColumnIndex" 
  2.         parameterClass="int" 
  3.         resultMap="indexed-account-result"﹥  
  4.     select 
  5.     Account_ID,  
  6.     Account_FirstName,  
  7.     Account_LastName,  
  8.     Account_Email  
  9.     from Accounts  
  10.     where Account_ID = #value#  
  11. ﹤/select﹥ 

只有一個條件,傳入參數的類型是int型,拼寫sql時直接用 #value#就可以了

3、根據條件查詢(較復雜方式):

  1. select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" ﹥  
  2.     select top $MaximumAllowed$ * from Accounts  
  3.     ﹤dynamic prepend="where"﹥  
  4.             ﹤isParameterPresent﹥  
  5.             ﹤isNotEmpty prepend="and" property="FirstName" ﹥  
  6.                     Account_FirstName LIKE '%$FirstName$%' 
  7.             ﹤/isNotEmpty﹥  
  8.             ﹤isNotEmpty prepend="and" property="LastName" ﹥  
  9.                     Account_LastName LIKE '%$LastName$%' 
  10.             ﹤/isNotEmpty﹥  
  11.             ﹤isNotEmpty prepend="and" property="EmailAddress"  ﹥  
  12.                     Account_Email LIKE '%$EmailAddress$%' 
  13.             ﹤/isNotEmpty﹥  
  14.             ﹤/isParameterPresent﹥  
  15.         ﹤/dynamic﹥  
  16.         order by Account_LastName  
  17. ﹤/select﹥ 

傳入參數是一個Hashtable,MaximumAllowed等表示的是Hashtable里的key值,用$$包含起來。

并且查詢時可以根據條件是否為空動態拼寫sql語句

PS:輸入參數同樣可以使用Account類,注意對應的鍵要和類中的屬性名一致(大小寫也要一樣)

4、多表查詢

多表查詢時返回參數有三種方式,一種是新建一個類,在這個類中包含這多個表的所有屬性,還有一種就是直接返回Hastable就可以了:

  1.   ﹤select id="GetAccountAsHashtableResultClass" 
  2. sultClass="HashMap"﹥  
  3.       select 
  4.       a.*,b.*  
  5.       from a,b  
  6.       where a.Account_ID = b.Account_ID          
  7. ﹤/select﹥ 

PS:這里的HashMap實際上就是Hashtable

第三種方式是使用IBatis中的復雜屬性(感謝Anders Cui 的提醒)

比如現在有兩張表Account和Degree,使用Account_ID關聯,那么需要在原有的基礎上修改:

1、修改Account實體類,加入一個屬性:

  1. private Degree _degree;  
  2. public Degree Degree  
  3. {  
  4.     get  
  5.     {  
  6.         return _degree;  
  7.     }  
  8.     set  
  9.     {  
  10.         _degree = value;  
  11.     }  

這樣是一個1:1的關系,也可以加入IList DegreeList的屬性,這樣查詢的結果就是一個1:n的關系

2、修改配置文件:

在resultMaps節加入:

  1. ﹤resultMap id="comresult"  class="Account" ﹥  
  2.   ﹤result property="Id"           column="Account_ID"/﹥  
  3.   ﹤result property="FirstName"    column="Account_FirstName"/﹥  
  4.   ﹤result property="LastName"     column="Account_LastName"/﹥  
  5.   ﹤result property="EmailAddress" column="Account_Email" nullValue="no_email@provided.com"/﹥  
  6.   ﹤result property="Degree" column="Account_ID=Account_ID"  select="degreeretrive" /﹥  
  7. ﹤/resultMap﹥ 

對于Degree屬性,還可以加入lazyLoad=true 延遲加載,優化性能(也就是開始時并沒有實際查詢數據庫,當用到屬性Degree時,才實際的查詢相應的數據)

在statements節加入:

  1. ﹤statement id="degreeretrive" 
  2.   parameterClass="Hashtable" 
  3.   resultClass="Degree"﹥  
  4.   select *  
  5.   from Degree  
  6.   where Account_id = #Account_ID#  
  7. ﹤/statement﹥  
  8.  
  9. select id="GetComTables" 
  10.   resultMap="comresult"﹥  
  11.   select *  
  12.   from Accounts  
  13.   order by Account_ID  
  14. ﹤/select﹥ 

這樣可以正確的查詢出結果,符合OO,但是也有兩個小問題:

1、比較麻煩,不夠靈活

2、性能受影響:

這種方式其實和Hibernet比較類似了,查詢時首先執行

  1. select *        from Accounts        order by Account_ID 

然后根據這條語句的結果,比如有100條記錄,那就要執行100次以下的語句:

  1. select *        from Degree        where Account_id =  @param0 

關于輸入輸出:

從上面可以看到輸入時可以使用:parameterClass和parameterMap,輸出時可以使用:resultClass和resultMap

對于resultMap和parameterMap我們需要另外進行配置(如上所示)

對于parameterClass和resultClass,如果是C#固有類型可以直接使用,如果是我們自定義類可以在SqlMap.config中先統一聲明一下:

  1. ﹤alias﹥  
  2.     ﹤typeAlias alias="Account" type="GSpring.Domain.Account"/﹥  
  3. ﹤/alias﹥ 

iBATIS.net常用的查詢方式就向你介紹到這里,希望通過介紹能夠使你了解到iBATIS.net常用的查詢方式。

【編輯推薦】

  1. Spring iBATIS整合實例演示
  2. iBATIS Spring Struts2整合實例淺析
  3. iBATIS.net應用之下載、編譯、運行NPetShop
  4. IBATIS.net中兩大常用的DAO淺談
  5. iBATIS.net數據庫緩存模式淺析
責任編輯:仲衡 來源: cnblogs
相關推薦

2009-07-22 09:07:01

iBATIS.NET

2009-07-20 13:22:47

iBATIS.Net日

2009-07-20 14:56:18

iBATIS.NET動態選擇DAO

2009-07-21 13:50:00

iBATIS.NET調

2009-07-21 15:21:59

iBATIS.NET多

2009-07-20 09:51:19

iBATIS.net數據庫緩存

2009-07-20 13:47:08

iBATIS.NET字

2009-07-20 15:14:44

iBATIS.NET連

2009-07-21 14:15:00

iBATIS.NET多

2009-07-21 16:30:15

iBATIS.NET與單元測試

2009-07-16 13:50:31

ibatisResultMap

2009-07-20 09:27:42

IBATIS.netDAO

2009-07-22 14:28:52

iBATIS.NET配

2009-07-21 17:06:35

iBATIS.NET執

2009-07-20 15:27:22

Castle.DynaiBATIS.NET

2009-07-22 14:11:09

配置ibatis.neiBatis.net配

2009-07-21 16:17:28

iBATIS.NET

2009-07-22 13:04:41

iBATIS動態查詢

2011-03-15 13:30:27

IBatis.netMySQL

2009-07-17 17:57:20

NPetShop iBATIS.Net
點贊
收藏

51CTO技術棧公眾號

日韩三级视频在线| 免费不卡的av| 91麻豆免费在线视频| 国产精品系列在线播放| 欧美成人精品在线观看| 日韩免费高清一区二区| jvid一区二区三区| 亚洲九九爱视频| 乱色588欧美| 国产又大又黄的视频| 亚洲第一精品影视| 在线视频精品一| 中文在线字幕观看| **欧美日韩在线观看| 有坂深雪av一区二区精品| 国产一区二区免费电影| 亚洲视频在线免费播放| 国产欧美日韩综合一区在线播放 | 天天综合天天添夜夜添狠狠添| 国产激情在线视频| 久久综合丝袜日本网| 91精品国自产在线观看| 国产女主播喷水视频在线观看 | 超碰日本道色综合久久综合| 给我看免费高清在线观看| 成人在线啊v| 色网站国产精品| 国产一级不卡视频| 婷婷五月在线视频| 久久日韩粉嫩一区二区三区| av资源站久久亚洲| 国产又粗又猛又爽又黄的视频一| 亚洲中午字幕| 欧美激情精品久久久久久大尺度| 五月天免费网站| 欧美丝袜美腿| 精品国产乱码久久久久久浪潮| 色播五月激情五月| 色香欲www7777综合网| 亚洲成人在线免费| 穿情趣内衣被c到高潮视频| 国产黄色在线播放| 久久久久久久久久久久久久久99| 国产精品美女xx| jlzzjlzz亚洲女人18| 欧美a一区二区| 国产xxx69麻豆国语对白| 久久精品欧美一区二区| 欧美日韩ab| 久久国产精彩视频| 性生交大片免费全黄| 日本不卡电影| 这里只有视频精品| 神马久久久久久久久久久| 日韩精品a在线观看91| 亚洲аv电影天堂网| 中文字幕99页| 国产精品色在线网站| 国产精品天天看天天狠| 国产成人视屏| 欧美中文字幕一区二区三区亚洲 | 国产国语亲子伦亲子| 久久精品国产一区二区三 | 色综合99久久久无码国产精品| 激情小说亚洲色图| 精品盗摄一区二区三区| 人妻av一区二区| 成人中文字幕视频| 精品播放一区二区| 中国一级特黄录像播放| 欧美一级色片| 亚洲日韩中文字幕| 国产精品国产三级国产专业不| 亚洲区小说区图片区qvod| 亚洲码在线观看| av网在线播放| 日韩欧美午夜| 久久91亚洲精品中文字幕| 欧美日韩成人免费观看| 红桃视频欧美| 欧美一区二区三区……| 欧美一级做a爰片免费视频| 日韩电影在线免费观看| 国产伦精品免费视频| 国产男女裸体做爰爽爽| 国产超碰在线一区| 久久综合毛片| 日韩在线免费电影| 亚洲一级片在线观看| 国产肥臀一区二区福利视频| 在线一区视频观看| 日韩欧美国产一区二区在线播放 | 亚洲成av人乱码色午夜| 岛国精品资源网站| 欧美电影免费播放| 欧美另类暴力丝袜| 狠狠人妻久久久久久综合| 蜜臀91精品一区二区三区| 2022国产精品| 婷婷av一区二区三区| 亚洲国产激情av| 91精品国产毛片武则天| 国产精品av一区二区三区| 欧美午夜免费电影| 潘金莲一级淫片aaaaaaa| 欧洲精品一区| 日韩在线观看免费网站| 五月天综合在线| 丝袜美腿一区二区三区| 5566av亚洲| 青青青草原在线| 亚洲三级免费电影| 无码人妻精品一区二区三区在线| 成人亚洲精品| 亚洲美女精品成人在线视频| 精品无码久久久久成人漫画| 新67194成人永久网站| 亚洲伊人一本大道中文字幕| 欧美孕妇孕交xxⅹ孕妇交| 国产精品卡一卡二| 欧美老熟妇喷水| 成人精品视频在线观看| 亚洲天堂影视av| 国产一级av毛片| 毛片av一区二区三区| 蜜桃91精品入口| 欧洲在线视频| 欧美日韩亚洲丝袜制服| 亚洲第九十七页| 亚洲激情中文在线| 国产精品一区二区三区免费视频| 性感美女一级片| 亚洲精品v日韩精品| 少妇性l交大片| 久久动漫网址| 色综合男人天堂| 国产精品嫩草影院桃色| 国产日韩精品一区| 日本午夜激情视频| 日韩免费精品| 久久久999成人| 888奇米影视| 日本一区二区三区四区在线视频| 亚洲熟妇av一区二区三区漫画| 精品91福利视频| xvideos国产精品| 久久久久精彩视频| 久久久久九九视频| 欧美日韩在线一| 一区二区免费| 九九九久久国产免费| 国产成人精品一区二区无码呦| 国产精品久久午夜夜伦鲁鲁| www.亚洲高清| 欧美日韩水蜜桃| 国产成人亚洲精品| 国产一区电影| 欧美午夜不卡在线观看免费| 精品国产成人亚洲午夜福利| 老司机一区二区三区| 欧美一区二区三区四区夜夜大片 | av一级久久| 最近2019年手机中文字幕| 中文字幕第99页| 国产精品久久久久久久裸模| 国产九九在线观看| 国产精品久久久久久影院8一贰佰| 国产精品激情自拍| jizz在线观看视频| 欧美精品成人一区二区三区四区| 人人澡人人澡人人看| 国产又黄又大久久| 美女av免费观看| 国偷自产av一区二区三区| 色在人av网站天堂精品| 殴美一级特黄aaaaaa| 午夜欧美视频在线观看| 日韩av一二区| 蜜桃av综合| 亚洲国产日韩欧美| 精品中文在线| 97久久国产精品| 国产在线视频网| 91精品在线免费| 久久久久亚洲av无码专区 | 午夜在线视频观看| 色哟哟亚洲精品| 国产精品www爽爽爽| 国内精品第一页| 999久久欧美人妻一区二区| 精品欧美午夜寂寞影院| 国产成人精品国内自产拍免费看| 最新av网站在线观看| 欧美一级久久久久久久大片| 日本三级免费看| 国产欧美一区在线| 美女被爆操网站| 久久久久久久欧美精品| 亚洲精品中字| 精品少妇一区| 国产精品爽黄69| 欧洲性视频在线播放| 精品视频一区在线视频| 国产精品无码在线播放| 午夜av一区二区| 国产日产在线观看| jlzzjlzz亚洲日本少妇| www.99r| 亚洲全部视频| 中文字幕精品—区二区日日骚| 大桥未久女教师av一区二区| 国产成人免费av电影| 久久免费电影| 少妇久久久久久| 天天插天天干天天操| 欧美日韩国产首页| 西西44rtwww国产精品| 综合激情成人伊人| 女~淫辱の触手3d动漫| 国产精品2024| 少妇一级淫免费放| 国产精品综合| 亚洲色欲久久久综合网东京热| 精品国产乱码久久久久久1区2匹| 国产日韩一区二区三区| 国产精品久久久久久av公交车| 日韩av电影在线播放| av影片在线| 美女撒尿一区二区三区| av在线首页| 日韩精品在线看| 蜜臀av在线观看| 日韩一区二区三区av| 中文字幕在线播放av| 精品久久久久久久久久| 欧美丰满熟妇bbbbbb| 国产精品无遮挡| jizz中文字幕| 久久久99免费| 久久精品一区二区免费播放| 国产成人综合网| 亚洲一区二区图片| 久久99热99| 蜜臀av免费观看| 卡一卡二国产精品| 国产aaaaa毛片| 久久最新视频| 中文字幕无码不卡免费视频| 一本久久综合| 国产精品沙发午睡系列| 99国产精品| 精品少妇人妻av免费久久洗澡| 欧美激情综合| 日韩在线视频在线| 在线一区免费| 国产成人免费高清视频| 亚州av乱码久久精品蜜桃| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 精品精品久久| 西游记1978| 久久福利影院| 午夜精品福利一区二区| 精品久久美女| 性欧美大战久久久久久久免费观看| 亚洲区小说区图片区qvod| 日韩av一区二区三区在线| 激情综合网五月| 亚洲午夜精品久久久中文影院av | 亚洲精品福利资源站| 色婷婷av一区二区三| 精品无人区乱码1区2区3区在线 | 无码人妻精品一区二区50| 一本大道久久a久久精品综合| 精品免费囯产一区二区三区| 色综合中文综合网| 尤物视频免费观看| 欧美日韩精品一区二区三区四区| 91精品视频免费在线观看| 欧美无乱码久久久免费午夜一区| 国产免费高清视频| 亚洲电影在线看| 成人性生交大片免费看午夜| 久久久999精品| free性m.freesex欧美| 国产精品久久久久久久久久 | 欧美一区二区三区免费在线看 | 亚洲欧美日韩网| 国产黄大片在线观看画质优化| 久久久久久久av| 91成人在线| 国产不卡一区二区在线观看| 国产精品一区二区av交换| 国产四区在线观看| 中文亚洲字幕| 久国产精品视频| 久久只精品国产| 午夜精品福利在线视频| 色综合久久中文综合久久牛| 99久久久久久久| 亚洲欧美综合另类中字| 搞黄网站在线观看| 国产大片精品免费永久看nba| 成人国产精品久久| 欧美日本韩国国产| 国产精品hd| 亚洲欧美久久久久| 91视频精品在这里| 2018天天弄| 欧美综合天天夜夜久久| 人妻与黑人一区二区三区| 最好看的2019的中文字幕视频| 人狥杂交一区欧美二区| 91美女片黄在线观看游戏| 欧美精品第一区| 青娱乐自拍偷拍| 国产成都精品91一区二区三| 激情无码人妻又粗又大| 欧美性极品xxxx做受| 成人久久久精品国产乱码一区二区| 中文字幕在线日韩 | 一本色道**综合亚洲精品蜜桃冫| aaa级黄色片| 中文字幕成人在线| 全亚洲第一av番号网站| 激情久久av| 亚洲私拍自拍| 不卡的一区二区| 中文字幕一区二区在线观看| 天天干天天操天天操| 国产丝袜一区二区三区| 天堂av最新在线| 91在线精品播放| 国产精品久久久久久久久久10秀| 久久久精品麻豆| 国产亚洲精品中文字幕| 久久黄色精品视频| 亚洲精品xxx| 91jq激情在线观看| 国产精品yjizz| 激情亚洲成人| 欧美日韩人妻精品一区在线| 一区二区三区91| 亚洲产国偷v产偷v自拍涩爱| 久久亚洲影音av资源网| 国产成年精品| 91嫩草国产丨精品入口麻豆| 国产二区国产一区在线观看| 欧美日韩人妻精品一区二区三区| 欧美一区二区三区在线电影| jizz性欧美| 99伊人久久| 一区二区三区四区五区精品视频 | 亚洲精品久久久久久无码色欲四季 | 欧美精品xxxxx| 精品日产卡一卡二卡麻豆| 丰满诱人av在线播放| 国产精品视频一区二区三区经| 成人福利av| 全球成人免费直播| 国产私拍福利精品视频二区| 成人网址在线观看| 国产精品传媒精东影业在线| 亚洲一区精品视频在线观看| 亚洲视频在线一区二区| 国产麻豆精品一区| 欧美美女18p| 国产一区二区在线视频你懂的| 国产午夜伦鲁鲁| 国产日韩欧美亚洲| 国产又粗又黄又爽的视频| 久久av在线看| 老汉色老汉首页av亚洲| 玩弄japan白嫩少妇hd| 国产精品欧美综合在线| aaa级黄色片| 97在线免费观看| 成人激情诱惑| 最好看的中文字幕| 亚洲综合色区另类av| 三级视频在线| 国产在线一区二区三区| 欧美日韩国产综合网| 91精彩刺激对白露脸偷拍| 欧美日本视频在线| аⅴ资源天堂资源库在线| 日韩高清专区| 成人三级在线视频| 天天干,天天干| 日韩视频永久免费观看| 超碰在线成人| 六月丁香婷婷激情| 日韩一区在线播放| 深夜福利免费在线观看| 国产精品你懂得| 激情亚洲成人| 免费黄色国产视频| 亚洲国产中文字幕久久网| 欧洲av一区二区| 精品无码国产一区二区三区av| 国产精品色噜噜|