Mybatis报错___入参异常导致

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException:
Could not set parameters for mapping: ParameterMapping
{property='docNo', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}.
Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #1 with JdbcType OTHER .
Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property.
Cause: java.sql.SQLException: 无效的列类型: 1111
    at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
    at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
    at com.sun.proxy.$Proxy116.selectOne(Unknown Source)
    at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
    at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)
    at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
    at com.sun.proxy.$Proxy122.getDeptNameByDocNoBydocNo(Unknown Source)
    at com.group.emr.heren.dao.oracle.PatientDao.setHospitalPatient(PatientDao.java:233)

------------------------------------------------------------------------------

上面是自己项目中碰到的问题;

原因:

DefaultParameterHandler类在解析参数的时候,无法解析参数类型,指定默认的类型OTHER.

解决办法:

解决办法:

 在insert或update语句中,增加jdbcType指定字段的类型

如:

  <![CDATA[

  insert into t_yp_province

  (fid,fname,fnumber,fsimpleName,fdescription,fcreateTime,flastUpdateTime,fdirect)

  values

  ( #{id,jdbcType=VARCHAR},

   #{name,jdbcType=VARCHAR},

   #{number,jdbcType=VARCHAR},

   #{simpleName,jdbcType=VARCHAR},

   #{description,jdbcType=VARCHAR},

   #{createTime,jdbcType=DATE},

   #{lastUpdateTime,jdbcType=DATE},

   #{direct,jdbcType=NUMERIC}

  )  

  ]]>

 </insert>;

 

转自:https://www.cnblogs.com/havery/articles/4025879.html    并结合自己碰到的

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值