1.2.1 发布
2022年4月17日 - 1.2.1 发布
mybatis-mapper 项目升级到 1.2.1
ExampleWrapper
方法增加 boolean useCondition
参数,当值为 true
时,条件生效,反之无效
用法:
mapper.wrapper()
.eq(StrUtil.isNotEmpty(sex), User::getSex, "女")
.or(c -> c.gt(User::getId, 40), c -> c.lt(false, User::getId, 10))
.or()
.startsWith(User::getUserName, "张")
.orderByAsc(User::getId).list();
当 StrUtil.isNotEmpty(sex)
结果为 true
时,该条件有效,为 false
时无效。
有效时输出的 SQL 如下:
SELECT id,name AS userName,sex FROM user WHERE ( sex = ? AND ( ( id > ? ) ) ) OR ( name LIKE ? ) ORDER BY id ASC
-- Parameters: 女(String), 40(Integer), 张%(String)
无效时输出的 SQL 如下:
SELECT id,name AS userName,sex FROM user WHERE ( ( ( id > ? ) ) ) OR ( name LIKE ? ) ORDER BY id ASC
-- Parameters: 40(Integer), 张%(String)
通过这种用法可以保证当需要判断来设置条件时,可以仍然在链式调用中使用。
注意
or()
和or(参数)
方法的区别,详细用法和区别请看 1.2.0 更新日志。