1. 在mysql语句中,如果sum本身汇总为null,需要设置为0,这样mybatis处理中就不会遇到空指针的错误,只要使用ifnull语句,设置一个默认值即可,如下:
<!-- -2017年5月25日18:35:15 -->
<select id="getMedicalExpenseStatis" resultType="Map">
SELECT count(*) meetCount,IFNULL(sum(c.fee),0.0) meetMoneySum
from
(SELECT * from retire_infor
) a
LEFT JOIN
(select * from retire_infor_visit rt
) c on
a.retire_infor_id =c.retire_infor_id
where a.receiptor=#{receiptor} and c.type =3 and DATE_FORMAT(c.visitTime,'%Y-%m')=#{month}
</select>
2.在select语句中,使用到了avg进行算平均值的函数,但是要求保持两位小数,所以想当然了使用了Format函数,可在后台代码段,因为返回的map里面都是字符串,使用Double.parseDouble转换字符串就报错了,因为Format会对数字进行千分位处理,多了逗号",",后来发现可以使用select truncate(4545.1366,2);这个不会自动千分位处理,参考如下例子: