attempted to return null from a method with a primitive return type (double)
場景:
服務啓動正常,接口調用時出現異常。
業務描述:通過用戶標識獲取用戶目前爲止的所有投資收益。但測試使用的用戶是新註冊的用戶,無投資金額。
解決:
DEBUG模式跟蹤,發現底層mapper.xml 中的 SQL
select sum(invest) from db
此時 invest 爲空 , sum (null) , 賦值給 double ,所以系統提示異常,嘗試把一個 null值複製給 double 類型數據
select IFNULL(sum(invest),0) FROM DB
返回值時進行判斷,若爲空,則返回0
mapper的返回值,儘量使用包裝類