发现问题
在mybatis的 if 标签中,由于某些奇葩原因,字段都加了个’undefined’判断
<if test="reqState != null and reqState != '' and reqState != 'undefined'">
and a.req_state = #{reqState}
</if>
于是,当reqState为number数字类型时,报错java.lang.NumberFormatException: For input string: "undefined"
分析问题
在判断reqState != 'undefined'
时,将’undefined’转为number数字类型,与reqState比较判断,显然转换失败。
解决问题
不同场景解决方式不同,我这里就直接把reqState != 'undefined'
判断去掉就不报错了。