解决思路:
字面意思就是sql传参数量对不上,但我检查几遍代码都感觉没问题,sql单独拿到mysql里运行也没问题。看了其他的报错:Error setting non null for parameter #2 with JdbcType null,看起来也是跟参数有关的,在网上搜了解决方法,说是在mapper里指定了参数类型,如下图所示:
意思是两个参数是不同的类型,但是mapper里指定了同一个类型,但我检查了下我的代码,并没有这个问题,我没指定parameterType。
解决方法:
最后终于找到一篇博文:【已解决】Parameter index out of range (2 > number of parameters, which is 1)_parameter index out of range (2 > number of parame-CSDN博客
错误原因居然是mapper里写了注释···!!!乌鱼子,类似下面这种:
删掉注释就不报错了,但奇怪的是我后面想复现下这个问题,把报错信息完整的截图下来分享出来,结果把注释都重新加上,并且maven clean了重新跑,居然不报错,由于问题复现不出来,所以不确定是哪个注释导致的问题