程序包 cn.zhxu.bs.util

类 Builder<B extends Builder<B>>

java.lang.Object
cn.zhxu.bs.util.Builder<B>
类型参数:
B - 泛型
直接已知子类:
MapBuilder

public class Builder<B extends Builder<B>> extends Object
检索参数构建器基类
  • 字段详细资料

  • 构造器详细资料

  • 方法详细资料

    • field

      public <T> B field(FieldFns.FieldFn<T,?> fieldFn, Collection<?> values)
      指定某个字段的检索值
      类型参数:
      T - 泛型
      参数:
      fieldFn - 字段表达式
      values - 检索值,集合
      返回:
      MapBuilder
      从以下版本开始:
      3.5.2
    • field

      public <T> B field(FieldFns.FieldFn<T,?> fieldFn, Object... values)
      指定某个字段的检索值
      类型参数:
      T - 泛型
      参数:
      fieldFn - 字段表达式
      values - 检索值,可多个
      返回:
      MapBuilder
    • field

      public <T> B field(String fieldName, Collection<?> values)
      指定某个字段的检索值
      类型参数:
      T - 泛型
      参数:
      fieldName - 实体类属性名
      values - 检索值,集合
      返回:
      MapBuilder
      从以下版本开始:
      3.5.2
    • field

      public B field(String fieldName, Object... values)
      指定某个字段的检索值
      参数:
      fieldName - 实体类属性名
      values - 检索值,可多个
      返回:
      MapBuilder
    • field

      @SafeVarargs public final <T> B field(FieldFns.FieldFn<T,?> fieldFn, FieldFns.FieldFn<T,?>... fieldFns)
      指定某个(多个)字段,一般配和 sql(String) 一起使用,例如
      
       Map<String, Object> params = MapUtils.builder()
           // 生成 SQL 条件:username = nickname or username = 'Jack'
           .field(User::getUserName, User::getNickName).sql("$1 = $2 or $1 = 'Jack'")
           .build();
       
      类型参数:
      T - 泛型
      参数:
      fieldFn - 字段方法引用
      fieldFns - 字段方法引用
      返回:
      MapBuilder
      从以下版本开始:
      3.8.0
    • op

      public B op(String operator)
      指定上个字段的运算符
      参数:
      operator - 检索运算符
      返回:
      MapBuilder
    • op

      public B op(Class<? extends FieldOp> operator)
      指定上个字段的运算符
      参数:
      operator - 检索运算符
      返回:
      MapBuilder
    • op

      public B op(FieldOp operator)
      指定上个字段的运算符
      参数:
      operator - 检索运算符
      返回:
      MapBuilder
    • ic

      public B ic()
      指定上个字段检索时忽略大小写
      返回:
      MapBuilder
    • ic

      public B ic(boolean ignoreCase)
      指定上个字段检索时是否忽略大小写
      参数:
      ignoreCase - 是否忽略大小写
      返回:
      MapBuilder
    • sql

      public B sql(String sqlCond)
      自定义 SQL 条件,一般配和 field(FieldFn, FieldFn[]) 一起使用,例如:
      
       Map<String, Object> params = MapUtils.builder()
           // 生成 SQL 条件:username = nickname or username = 'Jack'
           .field(User::getUserName, User::getNickName).sql("$1 = $2 or $1 = 'Jack'")
           .build();
       
      参数:
      sqlCond - Sql 条件片段(支持占位符:$n 表示方法 field(..) 中指定的第 n 个字段)
      返回:
      MapBuilder
      从以下版本开始:
      v3.8.0
    • sql

      public B sql(String sqlCond, Object... args)
      自定义 SQL 条件,一般配和 field(FieldFn, FieldFn[]) 一起使用,例如:
      
       Map<String, Object> params = MapUtils.builder()
           // 生成 SQL 条件:id < ? or age > ?,两个占位符参数分别为:100,20
           .field(User::getId, User::getAge).sql("$1 < ? or $2 > ?", 100, 20)
           .build();
       
      参数:
      sqlCond - Sql 条件片段(支持占位符:$n 表示方法 field(..) 中指定的第 n 个字段)
      args - Sql 参数,对应 sqlCond 里的 '?' 占位符
      返回:
      MapBuilder
      从以下版本开始:
      v3.8.0
    • toFields

      @SafeVarargs protected final <T> String[] toFields(FieldFns.FieldFn<T,?>... fieldFns)
    • obtainList

      protected <T> List<T> obtainList(String key)