WHERE - 更新器WRAPPER - 查询或者更新NestedQ - WRAPPER 对应的嵌套查询器public abstract class WhereBase<WHERE extends WhereBase<WHERE,WRAPPER,NestedQ>,WRAPPER extends IWrapper<?,WRAPPER,NestedQ>,NestedQ extends IBaseQuery<?,NestedQ>> extends BaseSegment<WhereApply<WHERE,NestedQ>,WRAPPER>
| 限定符和类型 | 字段和说明 |
|---|---|
WHERE |
and |
WHERE |
or |
current, wrapper| 限定符 | 构造器和说明 |
|---|---|
protected |
WhereBase(WRAPPER wrapper) |
protected |
WhereBase(WRAPPER wrapper,
WHERE and) |
| 限定符和类型 | 方法和说明 |
|---|---|
WHERE |
and(IQuery query)
and (子条件)
|
WHERE |
and(QFunction<NestedQ> query)
嵌套查询
例: and(i -> i.eq("name", "value1").ne("status", "status1"))
|
protected WhereApply |
apply() |
WHERE |
apply(Column column,
ISqlOp op,
Object... paras)
增加and[or]条件
|
WhereApply<WHERE,NestedQ> |
apply(String column)
自定义column赋值比较
|
WHERE |
apply(String column,
ISqlOp op,
Object... paras)
增加and[or]条件
|
WHERE |
applyFunc(String applySql,
Object... paras)
拼接 sql
例1: and[or] apply("id = 1")
例2: and[or] apply("date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")
例3: and[or] apply("date_format(dateColumn,'%Y-%m-%d') = ?"
|
WHERE |
applyIf(Predicate<Object[]> predicate,
Column column,
ISqlOp op,
Object... paras) |
WHERE |
applyIf(Predicate<Object[]> predicate,
String column,
ISqlOp op,
Object... paras) |
WHERE |
applyIf(Predicate<Object[]> predicate,
String applySql,
Object... paras)
根据条件拼接 sql
|
protected abstract WHERE |
buildOr(WHERE and)
根据and where构造or where实例
|
WHERE |
defaults()
设置默认条件
Query:
IDefaultSetter.setQueryDefault(IQuery)
Update: IDefaultSetter.setUpdateDefault(IUpdate) |
<E extends IEntity> |
eqByEntity(E entity,
GetterFunc<E> column,
GetterFunc<E>... columns)
根据entity指定字段(允许null)设置where条件
|
WHERE |
eqByEntity(IEntity entity,
BiPredicate<String,Object> predicate)
根据entity和字段predicate判断来设置where条件
|
WHERE |
eqByEntity(IEntity entity,
FieldMapping column,
FieldMapping... columns)
根据entity指定字段(允许null)设置where条件
|
WHERE |
eqByEntity(IEntity entity,
String... columns)
根据entity设置where条件
o 指定字段列表, 可以是 null 值
o 无指定字段时, 所有非空entity字段
|
<E extends IEntity> |
eqByExclude(E entity,
GetterFunc<E> exclude,
GetterFunc<E>... excludes) |
WHERE |
eqByExclude(IEntity entity,
FieldMapping exclude,
FieldMapping... excludes) |
WHERE |
eqByExclude(IEntity entity,
String... excludes)
根据entity(排除指定字段)设置where条件
o 无指定字段时, 条件等于所有字段(包括null值)
|
<V> WHERE |
eqMap(Map<String,V> params,
boolean ignoreNull)
map 所有非空属性等于 =
key: column字段名称
value: 设置值
|
WHERE |
eqNotNull(IEntity entity)
已过时。
|
<V> WHERE |
eqNotNull(Map<String,V> params)
map 所有非空属性等于 =
key: column字段名称
value: 设置值, 忽略null值
|
WHERE |
exists(boolean condition,
IQuery query)
EXISTS ( sql语句 )
|
WHERE |
exists(boolean condition,
QFunction<NestedQ> query)
EXISTS ( sql语句 )
|
WHERE |
exists(boolean condition,
String select,
Object... values)
已过时。
|
WHERE |
exists(IQuery query)
EXISTS ( sql语句 )
例: EXISTS("select id from table where age = 1")
|
WHERE |
exists(Predicate<Object[]> predicate,
String select,
Object... values)
EXISTS ( sql语句 )
例: EXISTS("select id from table where age = 1")
|
WHERE |
exists(QFunction<NestedQ> query)
EXISTS ( sql语句 )
例: EXISTS("select id from table where age = 1")
|
WHERE |
exists(String select,
Object... values)
EXISTS ( sql语句 )
例: EXISTS("select id from table where age = 1")
|
WHERE |
notExists(boolean condition,
IQuery query)
NOT EXISTS ( sql语句 )
例: NOT EXISTS("select id from table where age = 1")
|
WHERE |
notExists(boolean condition,
QFunction<NestedQ> query)
NOT EXISTS ( sql语句 )
例: NOT EXISTS("select id from table where age = 1")
|
WHERE |
notExists(boolean condition,
String select,
Object... values)
已过时。
|
WHERE |
notExists(IQuery query)
NOT EXISTS ( sql语句 )
例: NOT EXISTS("select id from table where age = 1")
|
WHERE |
notExists(Predicate<Object[]> predicate,
String select,
Object... values)
NOT EXISTS ( sql语句 )
例: NOT EXISTS("select id from table where age = 1")
|
WHERE |
notExists(QFunction<NestedQ> query)
NOT EXISTS ( sql语句 )
例: NOT EXISTS("select id from table where age = 1")
|
WHERE |
notExists(String select,
Object... values)
NOT EXISTS ( sql语句 )
例: NOT EXISTS("select id from table where age = 1")
|
WHERE |
or(IQuery query)
or (子条件)
|
WHERE |
or(QFunction<NestedQ> query)
嵌套查询
例: or(i -> i.eq("name", "value1").ne("status", "status1"))
|
byEntity, byExclude, columnWithAlias, currentWithAlias, end, fieldMapping, get, setprotected WhereBase(WRAPPER wrapper)
protected abstract WHERE buildOr(WHERE and)
and - and wherepublic WHERE defaults()
Query: IDefaultSetter.setQueryDefault(IQuery)
Update: IDefaultSetter.setUpdateDefault(IUpdate)
@Deprecated public WHERE eqNotNull(IEntity entity)
replaced by eqByEntity(IEntity, String...)
entity - 实例public WHERE eqByEntity(IEntity entity, BiPredicate<String,Object> predicate)
entity - 实例predicate - 判断字段是否作为where条件 (columnName, columnValue)->{}public WHERE eqByEntity(IEntity entity, String... columns)
o 指定字段列表, 可以是 null 值 o 无指定字段时, 所有非空entity字段
entity - 实例columns - 要设置条件的字段public WHERE eqByEntity(IEntity entity, FieldMapping column, FieldMapping... columns)
entity - 实例column - 要设置条件的字段columns - 要设置条件的字段public <E extends IEntity> WHERE eqByEntity(E entity, GetterFunc<E> column, GetterFunc<E>... columns)
entity - 实例column - 要设置条件的字段columns - 要设置条件的字段public WHERE eqByExclude(IEntity entity, String... excludes)
o 无指定字段时, 条件等于所有字段(包括null值)
entity - 实例excludes - 排除设置条件的字段public <E extends IEntity> WHERE eqByExclude(E entity, GetterFunc<E> exclude, GetterFunc<E>... excludes)
public WHERE eqByExclude(IEntity entity, FieldMapping exclude, FieldMapping... excludes)
public <V> WHERE eqNotNull(Map<String,V> params)
V - 值类型params - map 类型的参数, key 是字段名, value 是字段值public <V> WHERE eqMap(Map<String,V> params, boolean ignoreNull)
params - map 类型的参数, key 是字段名, value 是字段值ignoreNull - value为null时,是否忽略。如果ignoreNull = false, 且value=null, 会执行 column is null判断public WHERE exists(String select, Object... values)
例: EXISTS("select id from table where age = 1")
select - exists sql语句values - 参数, 对应 select 语句中的 "?" 占位符@Deprecated public WHERE exists(boolean condition, String select, Object... values)
public WHERE exists(Predicate<Object[]> predicate, String select, Object... values)
例: EXISTS("select id from table where age = 1")
predicate - true时条件成立select - exists sql语句values - 参数, 对应 select 语句中的 "?" 占位符public WHERE exists(QFunction<NestedQ> query)
例: EXISTS("select id from table where age = 1")
query - 嵌套查询public WHERE exists(boolean condition, QFunction<NestedQ> query)
condition - 条件为真时成立query - 子查询public WHERE exists(IQuery query)
例: EXISTS("select id from table where age = 1")
query - 嵌套查询public WHERE exists(boolean condition, IQuery query)
condition - 条件为真时成立query - 子查询public WHERE notExists(String select, Object... values)
例: NOT EXISTS("select id from table where age = 1")
select - not exists sql语句values - select语句参数, 对应notExistsSql语句中的 "?" 占位符@Deprecated public WHERE notExists(boolean condition, String select, Object... values)
public WHERE notExists(Predicate<Object[]> predicate, String select, Object... values)
例: NOT EXISTS("select id from table where age = 1")
predicate - true时条件成立select - not exists sql语句values - select语句参数, 对应notExistsSql语句中的 "?" 占位符public WHERE notExists(QFunction<NestedQ> query)
例: NOT EXISTS("select id from table where age = 1")
query - 嵌套查询public WHERE notExists(boolean condition, QFunction<NestedQ> query)
例: NOT EXISTS("select id from table where age = 1")
condition - true时条件成立query - 嵌套查询public WHERE notExists(IQuery query)
例: NOT EXISTS("select id from table where age = 1")
query - 子查询public WHERE notExists(boolean condition, IQuery query)
例: NOT EXISTS("select id from table where age = 1")
condition - true时条件成立query - 嵌套查询public WHERE applyFunc(String applySql, Object... paras)
例1: and[or] apply("id = 1")
例2: and[or] apply("date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")
例3: and[or] apply("date_format(dateColumn,'%Y-%m-%d') = ?", LocalDate.now())
applySql - 拼接的sql语句paras - 对应sql语句的 "?" 参数public WhereApply<WHERE,NestedQ> apply(String column)
column - 自定义的column值public WHERE applyIf(Predicate<Object[]> predicate, String applySql, Object... paras)
predicate - if true: 拼接applySql; false: 丢弃条件拼接applySql - 要拼接的sql语句paras - sql参数public WHERE apply(String column, ISqlOp op, Object... paras)
column - 字段op - 操作paras - 操作参数public WHERE applyIf(Predicate<Object[]> predicate, String column, ISqlOp op, Object... paras)
public WHERE apply(Column column, ISqlOp op, Object... paras)
column - 字段op - 操作paras - 操作参数public WHERE applyIf(Predicate<Object[]> predicate, Column column, ISqlOp op, Object... paras)
public WHERE and(QFunction<NestedQ> query)
例: and(i -> i.eq("name", "value1").ne("status", "status1"))
query - 消费函数public WHERE or(QFunction<NestedQ> query)
例: or(i -> i.eq("name", "value1").ne("status", "status1"))
query - 消费函数protected WhereApply apply()
apply 在类中 BaseSegment<WhereApply<WHERE extends WhereBase<WHERE,WRAPPER,NestedQ>,NestedQ extends IBaseQuery<?,NestedQ>>,WRAPPER extends IWrapper<?,WRAPPER,NestedQ>>Copyright © 2021. All rights reserved.