mybatis执行sql报错: Error setting non null for parameter #3 with JdbcType null .

完整报错如下:

Caused by: org.apache.ibatis.type.TypeException: Error setting non null for parameter #3 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.sql.SQLException: Parameter index out of bounds. 4 is not between valid values of 1 and 2

解决方法:速速查看对应 mapper.xml 文件里面执行的 sql 语句,删掉使用 — 注释掉的 sql 语句,如图:

在这里插入图片描述

虽然使用 — 也能注释掉 sql 语句,正常情况下也没什么问题,但是请注意,如果注释调的 sql 语句里面有 #{} 表达式的话,问题就来了,也就是上面的报错。xml 文件的注释还是采用 这种方式来注释比较规范。

最后提多一句,如果使用 — 注释 sql 的话,假设里面没有 #{} 表达式,你可以使用 mybatis 的日志插件(我这里用的是 Mybatis Log Free)看一下实际执行的 sql 语句,sql 里面会包含你使用 — 注释掉的 sql 语句,只不过确实不影响实际执行的效果,当然,前提是里面没有 #{} 表达式。如下图:

在这里插入图片描述

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/52b5f9cfc5.html