【MyBatis】如何应对MyBatis爆出的“错误:无效的列类型1111”

【错误的发生场合】

当把null值赋给一个字段时。

【应对措施】

MyBatis官方文档指出:“如果对一个属性字段,需要传递null入内,jdbcType是必要的。”

所以,对于给属性字段可能赋空值的场合,需要显式指定可能为空的参数类型,如:

update_uid=#{uid,jdbcType=NUMERIC};                // 数字型

value_from=#(valueFrom,jdbcType=VARCHAR};   // 字符串型

update_time=#{utime,jdbcType=TIMESTAMP};      // 时间戳型

【吐槽】

出这个异常实际是MyBatis给字段赋值时遇到null不知怎么处理,它内部对不同类型自然是有预案的,但需要使用者显式指定一种。

但是,“错误:无效的列类型1111”  这种反馈信息是不是太随意了,很难想象这是一个有广泛受众的DB框架爆出的错误信息。希望整改措施早日出现。

END

 

posted @ 2021-12-28 06:21  逆火狂飙  阅读(496)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东