最近在对一个合同系统做修改原有需求的时候发现了一个BUG,始终百思不得其解。最后找到问题了。分享给大家,希望能帮助到大家。
一开始是这个错误,一开始以为是SQL
的原因,可是后来找了半天,SQL
始终没问题。
然后去看传递值和数据库的字段值的类型是否对应,后来发现也是对应的。
甚至都打算用MyBatis
的foreach
标签了。最后终于找到了问题所在。
这个是MyBatis
的Mapper文件里面写的一个小片段。
最后是在这里发现的问题。
因为我传递值是1,2
这个值很明显的是String类型。可是,在MyBatis
配置文件里面做判断的时候,竟然去判断-1
这个是int,于是就会报错。这个是之前的需求做的判断,没想到在这里挖个坑把自己给坑了。
基本大家以后如果出现这个问题,往这方面去找基本不会错的。
改完之后果然不报错了,开发中的小BUG分享,希望能帮助到大家。