iBATIS.NET多表查詢(xún)方法的歸納總結(jié)
iBATIS.NET多表查詢(xún)方法是什么呢?讓我們從實(shí)例出發(fā)逐步認(rèn)識(shí):
建兩張表Account和Degree,使用Account_ID關(guān)聯(lián),需要查出兩張表的所有紀(jì)錄
首先:修改實(shí)體類(lèi),增加以下屬性:
- private Degree _degree;
 - public Degree Degree
 - {
 - get
 - {
 - return _degree;
 - }
 - set
 - {
 - _degree = value;
 - }
 - }
 
然后:修改配置文件,這也是最重要的地方(PS:iBATIS.NET中的配置文件真的很強(qiáng))
在resultMaps節(jié)加入:
- ﹤resultMap id="com2result" class="Account" ﹥
 - ﹤result property="Id" column="Account_ID"/﹥
 - ﹤result property="FirstName" column="Account_FirstName"/﹥
 - ﹤result property="LastName" column="Account_LastName"/﹥
 - ﹤result property="EmailAddress" column="Account_Email" nullValue="no_email@provided.com"/﹥
 - ﹤result property="Degree" resultMapping="Account.Degree-result"/﹥
 - ﹤/resultMap﹥
 - ﹤resultMap id="Degree-result" class="Degree"﹥
 - ﹤result property="Id" column="Account_ID"/﹥
 - ﹤result property="DegreeName" column="DegreeName"/﹥
 - ﹤/resultMap﹥
 
這里最主要的就是使用了resultMapping屬性,resultMapping="Account.Degree-result",其中Account是當(dāng)前配置文件的namespace:
- ﹤sqlMap namespace="Account" ......
 
在statements節(jié)加入:
- ﹤select id="GetCom2Tables"
 - resultMap="com2result"﹥
 - select Accounts.*, Degree.*
 - from Accounts,Degree
 - where Accounts.Account_ID = Degree.Account_ID
 - ﹤/select﹥
 
這樣就可以隨心所欲的寫(xiě)自己需要的sql,性能也很好,不會(huì)出現(xiàn)第三種方法中的1+n條的查詢(xún)語(yǔ)句了。
那么,iBATIS.NET多表查詢(xún)方法就向你介紹到這里,希望對(duì)你了解iBATIS.NET多表查詢(xún)方法有所幫助。
【編輯推薦】
- iBATIS Spring Struts2整合實(shí)例淺析
 - iBATIS.NET應(yīng)用之下載、編譯、運(yùn)行NPetShop
 - iBATIS.NET中兩大常用的DAO淺談
 - iBATIS.NET數(shù)據(jù)庫(kù)緩存模式淺析
 - iBATIS.NET常用的查詢(xún)方式淺析
 















 
 
 
 
 
 
 