MybatisPlus 中if标签传入0判断失效的场合及解决办法

MybatisPlus 中if标签传入0判断失效的场合及解决办法

  • 失效场合
  • 解决方法

失效场合

mybatis mapper文件中的配置描述:
MybatisPlus 中if标签传入0判断失效的场合及解决办法_第1张图片
正常传入0 话应该检索出20条数据:如下
MybatisPlus 中if标签传入0判断失效的场合及解决办法_第2张图片
但是,where条件中的if判断成了false所以条件失效了

MybatisPlus 中if标签传入0判断失效的场合及解决办法_第3张图片

原因:是传入的Integer类型的0会变成【‘’】,造成判断失效

解决方法

已经尝试过!

以下两种:

  1. 传入的参数使用String类型代替
  2. 参数类型保持Integer不变,去掉if标签中的【and del_flag!=‘’】条件也能成功,但需要注意的是,前后端分离项目中如果需要前端对该条件进行过滤判断,否则会出现意想不到的结果;

你可能感兴趣的:(mybatis,java,开发语言)