在使用SSM框架的時候, 去數據查詢語句使用到了 sum()求和函數,sum函數會給結果自動轉型,在java中類型變成了 BigDecimal ,如果不是用這個類型去接收就會報錯。
代碼如下,
BigDecimal totalSend = (BigDecimal) aa.get("totalSend");
接收到的結果再去轉型
long send= totalSend.longValue();
這是一點,第二個注意點是 sum函數如果得出的值是null ,那麼代碼端 接收的時候會報錯 ,那就應該在sql語句中把空值轉化成0 ,代碼如下
ifnull(sum(ifnull(send_total_ticket,0)),0)
這裏面有兩個ifnull,先判斷裏面的send_total_ticket 轉化null爲0 ,再把sum轉化後如果是null再變成0,有的數據庫如oralce 是isnull ,但是mysql數據庫是ifnull這個也要注意一下。