作者:笑点已阵亡 | 来源:互联网 | 2024-10-26 12:41
在开发过程中,通常会在SQL映射文件中对参数进行非空判断。然而,当参数为整型0时,MyBatis会将其误识别为空字符串。为了防止这种错误,我们可以在可能传入0值的地方采取额外的措施,如使用自定义类型处理器或在Mapper中增加条件判断,确保0值能够正确处理。此外,还可以通过配置MyBatis的全局设置来避免此类问题的发生。
在开发中,一般在sqlmap中都会判断参数是否为null,以及是否为空字符串
当参数为Int类型 0时,myBatis自动把0定义为空字符串“”
因此我们在可能入参为0的地方多加一个判断:
,a.AUTHORIZE_AMOUNT = #{authorizeAmount,jdbcType=VARCHAR}
这是一个比较容易粗心的地方,出问题也不容易排查,记录下来提醒自己!