mybatis 一對多查詢 集合創建空對象的問題


在做 mybatis 一對多查詢的時候, resultMap 里面用到了集合標簽 collection ,后來發現 當該條數據沒有子集的時候, collection 會自動創建一個屬性都是null的對象。

比如:

Teacher —對應多個— Student   

那么Teacher 里面應該有個 List<Student> studentList 對象,但是如果有一個Teacher里面沒有Student的話,用collection會返回一個 屬性都是null 的Student對象放在List里面。

 

解決辦法:

在collection 標簽上  寫上 notNullColumn 屬性  ,notNullColumn ="id,name" ,意思是只要id,name 有一個為null 則 就不創建這個子對象 。官方文檔如下:

notNullColumn

默認情況下,在至少一個被映射到屬性的列不為空時,子對象才會被創建。 你可以在這個屬性上指定非空的列來改變默認行為,

指定后,Mybatis 將只在這些列非空時才創建一個子對象。可以使用逗號分隔來指定多個列。默認值:未設置(unset)。

http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html 點擊鏈接查看詳情


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM