1. 程式人生 > >MyBatis(七) 解決resultMap只返回一條結果的問題

MyBatis(七) 解決resultMap只返回一條結果的問題

問題描述

 在使用resultMap進行兩表的關聯關係對映的時候,本應返回list型別的資料,但是卻只返回了一條資料,出現了後面的資料覆蓋前面的資料的現象。

表直接的關聯關係


sql語句


      這樣寫後,就只能返回一條資料,出現錯誤的原因是:resultMap中如果不定義類似主鍵之類的能夠區分每一條結果集的欄位的話,會引起後面一條資料覆蓋前面一條資料的現象。

然後意識到:由於master_id是master表的主鍵、mastergroup表的外來鍵,在實體類中寫表之間的關聯關係時,可以不寫master_id屬性,因為在mastergroup屬性中就有master_id屬性,所以在上面的sql語句中,應該將<id>寫在association中。正確寫法如下:


然後就可以返回多條資料了!