Skip to content

1.2.1 发布

Compare
Choose a tag to compare
@abel533 abel533 released this 17 Apr 15:02
· 102 commits to master since this release

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 更新日志