错误描述:
启动程序调用接口后报错:
Cause: java.sql.SQLException: Parameter index out of range (5 > number of parameters, which is 4).
这是因为我的mybatis的xml中有注释的sql存在,如
...
<if test="xxxx != null">
-- AND a.create_by = #{userId}
AND (a.create_by = #{userId} OR d.emo_id = #{userId})
</if>
...
这样导致被注释的sql也一起被执行了,只要去掉-- AND a.create_by = #{userId}
这条注释的sql代码,报错就没了.
这个报错,有好几种情况会报这个错误,这只是其中的一种.