mybatisplus isNotNull不生效问题及解决

2022-11-13 10:11:59 解决 生效 mybatisplus

mybatisplus isNotNull不生效

通过mybatisplus isNotNull 查询string类型数据,不生效改用:ne即可。

需求查询‘name’不为空的:isNotNull(“name”) 不生效,

改成 .ne(“name”, “”)

搞定!

myBatis的<isNotNull>标签使用

  • 标签<isNull>用于判断参数是否为Null,为Null时,执行标签体内的语句。
  • 标签<isNotNull>用于判断参数是否不为Null,不为Null时,执行标签体内的语句。
  • 标签<isEmpty>判断参数是否为Null或者空(空字符串),满足其中一个条件则其true,执行标签体内的语句。
  • 标签<isNotEmpty>判断参数是否同时不为Null且不为空(空串),当参数既不为Null也不为空是其为true, 判断之后做相对应的表达式操作。

具体如下:

以<isNotNull>标签为例

当name不是null时,就在set后动态添加name = #name:varchar#,

当name是null时,就不执行该标签,set后不会有name=...,也就是修改时不会去修改name的值。

属性prepend=","就是执行该标签后,在执行体的后面添加逗号(,)。

当然set也需要动态添加,否则更新字段都为null的话,该sql语句就报错了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章