1,起因
今天老大让改bug,说有个模块数据提交不了,让我看看。。。检查服务器发现这个报错。。attempted to return null from a method with a primitive return type (int)
2,报错原因
mybatis中resultType返回数据为int类型,而因为没有查询结果返回为null,int初始化为0,不能为空,所以报了这个错误。
3,解决方法
(1)可以通过修改返回数据类型,将int改为integer类型,integer初始化是可以为null的,所以可以解决该问题.
(2)可以使用mysql的ifnull函数和max函数将null转成0.如下:
select IFNULL(MAX(xspx),0) from user where ID = #{id}