mybatis中association標(biāo)簽的使用解讀
association標(biāo)簽的使用
百度association標(biāo)簽的使用,基本都是為了解決查詢條件映射到一個(gè)類或一個(gè)集合上,講的抽象難懂,而且沒(méi)有實(shí)際意義,本文將通過(guò)實(shí)際例子來(lái)教你如何使用該標(biāo)簽
應(yīng)用場(chǎng)景如下,此時(shí)我們有兩個(gè)表一個(gè)是header表里面有一個(gè)amount總金額的字段,另一張表就是line表里面有單價(jià)和數(shù)量的字段,其中header表和line表是一對(duì)多的,header對(duì)應(yīng)的每個(gè)line的id相同。
很明顯我們需要的是將line表的單價(jià)和數(shù)量相乘然后整合到header表中,如何實(shí)現(xiàn)呢那么就用到了本文提到的association標(biāo)簽
這是header表
這是line表
我們先在line的xml文件里編寫(xiě)查詢映射
然后在映射的resultmap里面填寫(xiě)如下代碼,這是一對(duì)一的查詢映射,查詢主表的時(shí)候一定會(huì)對(duì)應(yīng)到行表上
property是下面整個(gè)association標(biāo)簽在我們這個(gè)主實(shí)體類中對(duì)應(yīng)的字段-column是你要傳入line表里的查詢依據(jù)
最后有些人就想說(shuō)了我為什么不可以直接在header的xml里這樣寫(xiě)啊。
不建議這樣寫(xiě),因?yàn)檎媸情_(kāi)發(fā)中,要盡量減少在sql中的嵌套。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例
在Web應(yīng)用中,文件下載功能是一個(gè)常見(jiàn)的需求,本文介紹了SpringBoot實(shí)現(xiàn)對(duì)超大文件進(jìn)行異步壓縮下載的使用示例,具有一定的參考價(jià)值,感興趣的可以了解一下,2023-09-09Java實(shí)現(xiàn)對(duì)稱加密DES和AES的示例代碼
這篇文章主要介紹了如何使用Java實(shí)現(xiàn)采用對(duì)稱密碼算法的應(yīng)用軟件,所用算法包括DES算法和AES算法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-04-04Java框架篇:Spring+SpringMVC+hibernate整合開(kāi)發(fā)
本篇文章將會(huì)對(duì)Spring+SpringMVC+hibernate的整合開(kāi)發(fā)進(jìn)行介紹。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-02-02Tomcat集群和Session復(fù)制應(yīng)用介紹
本文將詳細(xì)介紹Tomcat集群和Session復(fù)制應(yīng)用,需要了解的朋友可以參考下2012-11-11java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼
這篇文章主要介紹了 java Map轉(zhuǎn)Object與Object轉(zhuǎn)Map實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02Java中獲取類路徑classpath的簡(jiǎn)單方法(推薦)
下面小編就為大家?guī)?lái)一篇Java中獲取類路徑classpath的簡(jiǎn)單方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09淺談sql_@SelectProvider及使用注意說(shuō)明
這篇文章主要介紹了sql_@SelectProvider及使用注意說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08