這篇文章給大家介紹iBATIS.NET多表查詢方法的示例分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
目前成都創(chuàng)新互聯(lián)已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、大豐網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
iBATIS.NET多表查詢方法是什么呢?讓我們從實(shí)例出發(fā)逐步認(rèn)識(shí):
建兩張表Account和Degree,使用Account_ID關(guān)聯(lián),需要查出兩張表的所有紀(jì)錄
首先:修改實(shí)體類,增加以下屬性:
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﹥
這樣就可以隨心所欲的寫自己需要的sql,性能也很好,不會(huì)出現(xiàn)第三種方法中的1+n條的查詢語句了。
那么,iBATIS.NET多表查詢方法就向你介紹到這里,希望對(duì)你了解iBATIS.NET多表查詢方法有所幫助。
關(guān)于iBATIS.NET多表查詢方法的示例分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。