B - 泛型public class Builder<B extends Builder<B>> extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected String |
group |
protected Map<String,Object> |
map |
static String |
ROOT_GROUP
根组,根组的条件总是会被用到
|
| 限定符和类型 | 方法和说明 |
|---|---|
<T> B |
field(FieldFns.FieldFn<T,?> fieldFn,
Collection<?> values)
指定某个字段的检索值
|
<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> B |
field(FieldFns.FieldFn<T,?> fieldFn,
Object... values)
指定某个字段的检索值
|
B |
field(String fieldName,
Collection<?> values)
指定某个字段的检索值
|
B |
field(String fieldName,
Object... values)
指定某个字段的检索值
|
protected String |
genNextGroup(String group) |
protected String |
getGroupExpr() |
B |
ic()
指定上个字段检索时忽略大小写
|
B |
ic(boolean ignoreCase)
指定上个字段检索时是否忽略大小写
|
protected boolean |
isGroupExists(String group) |
protected String |
nextGroup(String group) |
protected <T> List<T> |
obtainList(String key) |
B |
op(Class<? extends FieldOp> operator)
指定上个字段的运算符
|
B |
op(FieldOp operator)
指定上个字段的运算符
|
B |
op(String operator)
指定上个字段的运算符
|
protected void |
setGroupExpr(String gExpr) |
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();
|
B |
sql(String sqlCond,
Object... args)
自定义 SQL 条件,一般配和
#field(FieldFn, FieldFn[]) 一起使用,例如:
{@code
Map |
protected <T> String[] |
toFields(FieldFns.FieldFn<T,?>... fieldFns) |
protected B |
withOr(Consumer<OrBuilder> condition,
String parentExpr) |
protected String group
public <T> B field(FieldFns.FieldFn<T,?> fieldFn, Collection<?> values)
T - 泛型fieldFn - 字段表达式values - 检索值,集合public <T> B field(FieldFns.FieldFn<T,?> fieldFn, Object... values)
T - 泛型fieldFn - 字段表达式values - 检索值,可多个public B field(String fieldName, Collection<?> values)
fieldName - 实体类属性名values - 检索值,集合public B field(String fieldName, Object... values)
fieldName - 实体类属性名values - 检索值,可多个@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 - 字段方法引用public B ic()
public B ic(boolean ignoreCase)
ignoreCase - 是否忽略大小写public B sql(String sqlCond)
#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 个字段)public B sql(String sqlCond, Object... args)
#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 里的 '?' 占位符protected boolean isGroupExists(String group)
protected String getGroupExpr()
protected void setGroupExpr(String gExpr)
@SafeVarargs protected final <T> String[] toFields(FieldFns.FieldFn<T,?>... fieldFns)
Copyright © 2024. All rights reserved.