org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #5 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型
; uncategorized SQLException for SQL []; SQL state [null]; error code [17004]; 无效的列类型; nested exception is java.sql.SQLException: 无效的列类型
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)
$Proxy8.update(Unknown Source)
org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:254)
org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:49)
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:43)
$Proxy9.updateWork(Unknown Source)
com.biz.impl.WorkProjectBizImpl.updateWork(WorkProjectBizImpl.java:51)
com.controller.WorkProjectController.updateWork(WorkProjectController.java:88)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
在做sprinmvcg框架和mybatis框架时,遇到以上问题,对该问题进行一个简单的感悟和总结:
该异常提示无效的列类型。导致的后果是在后面修改的过程中,产生的代理找不到相应
的操作和资源。
总结发现该问题出现的原因有两种:
第一种:在mybatis映射文件中编写的sql语句有问题,存在和页面匹配多余的字段,
使得产生无效的列。
第二种:在修改的jsp页面中,与mybatis中sql语句,缺少对应的列。
此时的技巧为:如果表中的字段不是很多的时候,可以将表的所有字段显示在sql语句中
以及jsp页面中。