Mybatis报java.sql.SQLException: 无效的列类型原因分析及解决方法详细讲解

时间:2018-11-15
本文章向大家介绍Mybatis 报java.sql.SQLException: 列名无效 错误,需要的朋友可以参考一下

Mybatis中出现java.sql.SQLException: 无效的列类型: 1111

原因1:where 占位符被传递了 NULL

  在其他的博客和一些论坛中有人说还有这个原因:where 后字段既有String又有Integer造成类型冲突(经测试,不存在这个原因)

解决方法:

  明确字段类型#{str,jdbcType=VARCHAR}(字符类型),#{num,jdbcType=NUMERIC}或#{num,jdbcType=DECIMAL}(数值类型)

最好每次都明确传入参数的类型,养成好习惯。