【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

原文地址:https://www.cnblogs.com/heyang78/p/15739155.html