mybatis利用association或collection傳遞多參數(shù)子查詢
有時(shí)候我們?cè)诓樵償?shù)據(jù)庫(kù)時(shí),需要以查詢結(jié)果為查詢條件進(jìn)行關(guān)聯(lián)查詢。
在mybatis 中通過(guò) association 標(biāo)簽(一對(duì)一查詢,collection 一對(duì)多 查詢) 實(shí)現(xiàn)延遲加載子查詢
<resultMap id="xxxMap" type="xxxx.bean.xxx" extends="zzzzMap">
<association property="destName" javaType="java.lang.String" select="xxx.dao.xxxDao.getBySource"
column="{sourceTarget=id,sourceType=cmdb_type}"/>
</resultMap>
解釋:
定義 xxxMap 繼承 zzzzMap 類型為 xxxx.bean.xxx 實(shí)體。
然后通過(guò) association 標(biāo)簽(一對(duì)一查詢,collection 一對(duì)多 查詢)。
select 子查詢標(biāo)簽,值為查詢的dao 層的方法。
column 為 傳遞到select 查詢里的參數(shù),sourceTarget=id (sourceTarget 為子查詢方法的參數(shù),id 為父查詢的記錄id 用于傳遞到子查詢中作為sourceTarget 的值)
property=”destName” 將查詢的結(jié)果映射到父查詢的 resultMap 的 destName 屬性
javaType=”java.lang.String” 查詢結(jié)果的類型,通常是一個(gè)bean實(shí)體
子查詢對(duì)應(yīng)的dao層
String getBySource(@Param("sourceTarget") int sourceTarget, @Param("sourceType") String sourceType);
<select id="getBySource" resultMap="xxxMap">
SELECT name FROM xxx_relation
WHERE source_target = #{sourceTarget} and source_type = #{sourceType}
</select>
參考:http://chabaoo.cn/article/153421.htm
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- Mybatis中collection和association的使用區(qū)別詳解
- Mybatis之a(chǎn)ssociation和collection用法
- 在Mybatis中association標(biāo)簽多層嵌套的問(wèn)題
- mybatis中一對(duì)一關(guān)系association標(biāo)簽的使用
- MyBatis中association的基本使用方法
- mybatis的association傳遞參數(shù)問(wèn)題示例
- Mybatis中一對(duì)多(collection)和一對(duì)一(association)的組合查詢使用
- MyBatis的collection和association的使用解讀
- mybatis中association標(biāo)簽的使用解讀
- MyBatis使用嵌套查詢collection和association的實(shí)現(xiàn)
- Mybatis的association使用子查詢結(jié)果錯(cuò)誤的問(wèn)題解決
相關(guān)文章
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之醫(yī)院心理咨詢問(wèn)診系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+Spring+Maven+mybatis+Vue+mysql開發(fā)的醫(yī)院心理咨詢問(wèn)診系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有心理咨詢問(wèn)診該有的所有功能,感興趣的朋友快來(lái)看看吧2022-01-01
Java?從json提取數(shù)組并轉(zhuǎn)換為list的操作方法
這篇文章主要介紹了Java?從json提取出數(shù)組并轉(zhuǎn)換為list,使用getJSONArray()獲取到j(luò)sonarray后,再將jsonArray轉(zhuǎn)換為字符串,最后將字符串解析為L(zhǎng)ist列表,本文通過(guò)實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10
java核心編程之文件過(guò)濾類FileFilter和FilenameFilter
這篇文章主要為大家詳細(xì)介紹了java文件過(guò)濾類FileFilter和FilenameFilter,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
部署springboot打包不打包配置文件,配置文件為外部配置文件使用詳解
在Spring Boot項(xiàng)目中,將配置文件排除在jar包之外,通過(guò)外部配置文件來(lái)管理不同環(huán)境的配置,可以實(shí)現(xiàn)靈活的配置管理,在pom.xml文件中添加相關(guān)配置,打包時(shí)忽略指定文件,運(yùn)行時(shí)在jar包同級(jí)目錄下創(chuàng)建config文件夾,將配置文件放入其中即可2025-02-02

