Mybatis一對(duì)多/多對(duì)多查詢時(shí)只查出了一條數(shù)據(jù)

我萌吧!

問題描述:

如果三表(包括了關(guān)系表)級(jí)聯(lián)查詢,主表和明細(xì)表的主鍵都是id的話,明細(xì)表的多條數(shù)據(jù)只能查詢出來第一條/最后一條數(shù)據(jù)。

三個(gè)表,權(quán)限表(Permission),權(quán)限組表(PermissionGroup),權(quán)限組與權(quán)限的關(guān)系表(PermissionPermissionGroupKey)


原出錯(cuò)映射文件:


原出錯(cuò)映射文件


出錯(cuò)原因:

這是因?yàn)橹鞅砗兔骷?xì)表的id字段名相同造成的。 問題的關(guān)鍵在于resultMap中如果不定義類似主鍵之類的能夠區(qū)分每一條結(jié)果集的字段的話,會(huì)引起后面一條數(shù)據(jù)覆蓋前面一條數(shù)據(jù)的現(xiàn)象。


如何解決?

解決方法一:

修改主表或者明細(xì)表的id名,保證不一致就行。

解決方法二:

查詢結(jié)果起別名。


修改后的映射文件如下:


修改后的映射文件
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容