异常的完整信息
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException:
Could not set parameters for mapping: ParameterMapping{property='id', mode=IN, javaType=class java.lang.Integer,
jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}.
Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #5 with JdbcType null .
Try setting a different JdbcType for this parameter or a different configuration property.
Cause: com.intple.dbone.util.IdbException: The column index is out of range: 5, number of columns: 4.
分析一下:Could not set parameters for mapping,意思就是说无法为参数赋值进行映射。想了一下,mybatis框架只有在xml配置文件里有map关系。
后面又说了Try setting a different JdbcType for this parameter or a different configuration property. 试图去赋值一个不同的jdbcType 对于这个参数,或者进行不同的的属性配置。
反复都在说xml出了问题。好了,现在我们开始仔仔细细的检查xml里面的语法。终于发现了

这里的双引号瞎了眼了,不过总算找出原因了。
改成下面的样子就万事大吉了。
<if test="connection_url!=null">"connection_url" = #{connection_url}</if>
总结一下,撸代码一定要细心,要不然坑死。这个简单的问题花了半个小时。。
本文记录了一次在使用MyBatis框架时遇到的参数映射异常问题及其解决过程。异常信息提示无法为参数赋值进行映射,并指出了可能的原因在于XML配置文件中的映射设置错误。通过仔细检查XML文件,最终发现并修正了一个简单的语法错误——错误的引号使用,从而解决了问题。
5172





