-- mybatis-plus eq方法
default Children eq(R column, Object val) {
return this.eq(true, column, val);
}
public Children eq(boolean condition, R column, Object val) {
return this.addCondition(condition, column, SqlKeyword.EQ, val);
}
以上是mybatis-puls wrapper条件构造器 eq方法源码,由上可见,condition不传递值的时候,条件构造器默认填充的true。
因此,当我们传入的条件,不一定有值时,可以在condition入参位置进行判定,当入参为空或者自定义情况下,条件不生效,否则查询条件都是生效的,即使为空。
例:
wrapper.eq(StringUtil.isNotBlank(infoVO.getMobile()), MsPlatformInfo::getPhone, infoVO.getMobile());
当infoVO.getMobile()为空时,StringUtil.isNotBlank(infoVO.getMobile()) = false,这种情况下,此条件在sql执行时不生效
博客介绍了MyBatis-Plus wrapper条件构造器eq方法源码,指出condition不传递值时默认填充true。当传入条件不一定有值,可在condition入参位置判定,入参为空或自定义情况条件不生效,还给出了具体示例说明。

4万+

被折叠的 条评论
为什么被折叠?



