踩坑笔记-1 Caused by: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 wit

记一个折磨了我快一天的坑……

前提:做项目要求拆表,替换sql中表相关的名称,改了之后报错了……但报错的地方并不是我改的部分啊55555 就改了表名,注释了不用的where条件,参数一点儿没变,怎么会报错呢?而且还是数组越界的错???

一开始怀疑是表名,因为改成FROM ${@类名@方法名(参数名(从mapper.java中传过来的))},这里用的是${}方式,另一个从mapper.java传过来的参数是#{}方式。结果都改成${}方式,或者去掉mapper.java方法的@Param,都不管用……

关键错误日志:

Caused by: org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='__frch_sourceId_0', mode=IN, javaType=class java.lang.Long, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #2 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ArrayIndexOutOfBoundsException: 1

解决方法:

1. (我的解决方法)去掉sql中的注释/* */(找了一天居然这样就莫名其妙地好了)

2. (网上其他方法)去掉#{}外面的单引号'',因为mybatis里面#{}自带引号效果

后记:找了好久的问题,还是记录一下,希望以后也养成记录博客的好习惯~程序猿加油!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值