完整报错如下:

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 语句,只不过确实不影响实际执行的效果,当然,前提是里面没有 #{} 表达式。如下图:

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐