Mybatis插入NULL值异常分析

分析场景发生在上周四需求迭代上线,因本次需求新增表,Dao层的Mapper文件都是新建的,表中有几个字段是可空的。由于QA测试脚本出现了问题,测试时该字段传的是空串,测试通过。但是当上线的时候插入空NULL值发现Mybatis抛出了异常。

异常信息如下图:

异常信息打印

通过查库确认字段是可空之后,又去Mapper文件中查找问题,发现在Insert语句中未指定字段的类型,所以当我们插入NULL值的时候,MyBatis不知道该参数的类型是什么,无法找到要转换的对应数据库的字段类型,于是抛出上图的异常信息。正确的做法是:无论该参数是否可以为空,都在Mapper文件中指定该参数的类型,必要的时候还需要加入if标签来做非空判断,使代码更加严谨,下面是正确的示例和错误的示例。

正确的示例
错误的示例
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 6,271评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,678评论 19 139
  • 先说说什么是镜像(image),什么是容器吧? 这两者有点像《奇异博士》里的那个镜像。镜像就是虚拟出来的世界, ...
    bboymonk阅读 79评论 0 0
  • 文/王大纯 北京是糖豆姑娘一个人的北京,她等的那个人没有来,或许已经来了。 四年前,糖豆姑娘从小城坐了一夜的火车,...
    王大纯阅读 6,294评论 24 44
  • 序 孙莘老识欧阳文忠公,尝乘间从,以文字问之,云:“无它术,唯勤读书而多为之,自工。世人患作文字少,又懒读书,每一...
    Uri阅读 1,710评论 3 5

友情链接更多精彩内容