今天在导数据时,遇到了将一个String类型的变量转换成int类型的变量,不过String类型为空的话,转换成int类型就会报这个错误,具体代码如下:
achievement.setTrialNameId(testMapper2.findUnits(kjcgMapper.selectKjcgAll().get(i).get申报单位代码()));
错误原因分析:
本次报错的原因在于sql语句未查询到数据,返回为null。而我们定义的mapper层方法是返回为int,就会出现如下这样的提示:
return null from a method with a primitive return type (int).(试图从具有原始返回类型(int)的方法返回null)
Ingeter是int的包装类,int的初值为0,Ingeter的初值为null
解决方式:
将Mapper层的返回类型改为Integer即可。