attempted to return null from a method with a primitive return type (double)

attempted to return null from a method with a primitive return type (double)

場景:

服務啓動正常,接口調用時出現異常。

業務描述:通過用戶標識獲取用戶目前爲止的所有投資收益。但測試使用的用戶是新註冊的用戶,無投資金額。


解決:

  1. DEBUG模式跟蹤,發現底層mapper.xml 中的 SQL

  2. select sum(invest) from db
  3. 此時 invest 爲空 , sum (null) , 賦值給 double ,所以系統提示異常,嘗試把一個 null值複製給 double 類型數據

  4. select IFNULL(sum(invest),0) FROM DB
  5. 返回值時進行判斷,若爲空,則返回0

  6. mapper的返回值,儘量使用包裝類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章