mybatis查詢列表

SieSteven發表於2017-06-01

上上週做對接版本的尋知圖專案時(SSM),呼叫大平臺的介面同步使用者基礎資料。程式碼幾乎是盲寫的。按照以往經驗,邏輯上根本沒問題,程式也沒有報異常。但是卻出現了漏資料的情況。跟斷點後,發現使用mybatis自帶方法查詢列表的時候,若查詢結果為空,則返回結果為空list,size()=0。而使用手寫sql查詢資料的時候,若查詢結果為空,則返回null。

原始碼如下:


執行發現兩種方式返回的結果確實不同。

分別跟了一下程式碼,dao層的時候,自己寫的程式碼判斷了如果查詢結果為空,則返回null。這樣處理導致兩種方法返回的結果不同。


當把返回null更改為 return list時,發現程式碼一中的結果都一樣。無查詢結果則返回空list。


分析完畢。原因定位了。

因此,使用mybatis查詢列表時,需要注意封裝的時候,有沒有做null處理。預設返回空列表

相關文章