mybatis if test将0识别为空字符串

桃扇骨 2022-05-09 04:24 437阅读 0赞

测试发现bug, 选择某select 下拉没有效果

跟踪代码发现,没过滤效果的下拉选项的value是0,其他非0选项均没有问题。

继而跟踪sql,发现写法如下。 其中eventSource为Integer类型,但是sql里却判断eventSource!=‘’,而mybatis会将0判断为空字符串,继而出现问题。

  1. <if test="eventSource != null and eventSource!=''">
  2. and e.event_source=#{eventSource}
  3. </if>

所以我去掉eventSource!=’’,解决问题!!

发表评论

表情:
评论列表 (有 0 条评论,437人围观)

还没有评论,来说两句吧...

相关阅读