MyBatis多个if嵌套竟然没进条件,而且还出现了参数的值改变的事情。
看执行的sql语句,参数正确,第三个参数不应该为空。
确认参数是否存在,存在
可以看到确实奇怪。因为时间急任务重,当时的解决方案是将判断的逻辑放逻辑层了,添加Dao层方法。
现在再看,知悉if test中使用的是 OGNL ,之前 if 中多用 != ,不知道判断等于是 ==,写成了 = 造成这个问题。
可看源码:
更多参看:
mybatis 中 if-test 判断详解_xinlianluohan的博客-优快云博客_mybatis test判断