热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解决MyBatis将0误识别为空字符串的问题及优化方案

在开发过程中,通常会在SQL映射文件中对参数进行非空判断。然而,当参数为整型0时,MyBatis会将其误识别为空字符串。为了防止这种错误,我们可以在可能传入0值的地方采取额外的措施,如使用自定义类型处理器或在Mapper中增加条件判断,确保0值能够正确处理。此外,还可以通过配置MyBatis的全局设置来避免此类问题的发生。

  在开发中,一般在sqlmap中都会判断参数是否为null,以及是否为空字符串

当参数为Int类型 0时,myBatis自动把0定义为空字符串“”


因此我们在可能入参为0的地方多加一个判断:

 
            ,a.AUTHORIZE_AMOUNT = #{authorizeAmount,jdbcType=VARCHAR}
        

这是一个比较容易粗心的地方,出问题也不容易排查,记录下来提醒自己!




推荐阅读
author-avatar
笑点已阵亡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有