mybatisplus isNotNull不生效问题及解决
作者:JAVA BUG 处理器
这篇文章主要介绍了mybatisplus isNotNull不生效问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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语句就报错了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。