异常描述
attempted to return null from a method with a primitive return type (int)
解决方式
使用mysql的ifnull函数
异常发生原因
我的项目ssm框架,在实现一个查询功能时,由于查询结果返回null,而mybatis 封装的sql应该返回int类型,导致抛出上面异常。
使用mysql的ifnull函数,当结果为null时,函数返回0,这样就解决了异常。
ifnull函数用法
MYSQL IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。
简单讲,将那个返回值为null的列放在expr1处,expr2写0,这样返回null时,就会显示0,可以参考我下面的例子:
IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
补充
mysql 函数之前使用的不多,就使用过一些聚合函数,count()、sun()、max()、min()等,今天学习了ifnull函数,顺便搜索了一下,还有好多函数,例如:数学函数、字符串函数、日期和时间函数、加密函数、控制流函数、格式化函数、类型转换函数和系统信息函数等。