Class WhereSql<T extends SqlBuilder>
- All Implemented Interfaces:
SqlBuilder
- Direct Known Subclasses:
DeleteSqlBuilder,SelectSqlBuilder,UpdateSqlBuilder
- Author:
- Cody Lu
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Object[]protected Stringprotected SqlBuilder -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionwhere 表达式,用 AND 连接,如下写法都是合法的:where 表达式,用 AND 连接,例如:where 表达式,带参数值,用 AND 连接,如下写法都是合法的:where 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件where 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件andIfNotNull(String column, Oper op, Object value) where 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:andIfNotNull(String expr, Object value) where 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:where 表达式中的 ANY 函数,其参数为一个子查询,如下:where 表达式中的 ANY 函数,其参数为一个子查询,如下:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where eq 表达式,用 AND 连接,例如:where eq 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件eqIfNotBlank(String column, String value) where eq 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:eqIfNotNull(String column, Object value) where eq 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:in(String column, Collection<?> values) where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:in(String column, Collection<?> values, Logic logic) where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 IN 语句,根据传入条件,当为false时,则忽略此查询条件.inIf(boolean cnd, String column, Collection<?> values) where 表达式中的 IN 语句,根据传入条件,当为false时,则忽略此查询条件.[AND] column IS NOT NULL[AND|OR] column IS NOT NULLisNotNullIf(boolean cnd, String column) 如果条件成立,则为[AND] column IS NOT NULL,否则忽略isNotNullIf(boolean cnd, String column, Logic logic) 如果条件成立,则为[AND|OR] column IS NOT NULL,否则忽略[AND] column IS NULL[AND|OR] column IS NULL如果条件成立,则为[AND] column IS NULL,否则忽略如果条件成立,则为[AND|OR] column IS NULL,否则忽略where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where ne 表达式,用 AND 连接,例如:where ne 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件neIfNotBlank(String column, String value) where ne 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:neIfNotNull(String column, Object value) where ne 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:where 表达式中的 NOT IN 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:notIn(String column, Collection<?> values) where 表达式中的 NOT IN 语句,其参数为数组,按照如下处理逻辑:notIn(String column, Collection<?> values, Logic logic) where 表达式中的 NOT IN 语句,其参数为数组,按照如下处理逻辑:where 表达式,用OR连接,如下写法都是合法的:where 表达式,用 OR 连接,例如:where 表达式,带参数值,用 OR 连接,如下写法都是合法的:where 表达式,用 OR 连接,根据传入条件,当为false时,则忽略此查询条件where 表达式,用 OR 连接,根据传入条件,当为false时,则忽略此查询条件orIfNotNull(String column, Oper op, Object value) where 表达式,用 OR 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:orIfNotNull(String expr, Object value) where 表达式,用 OR 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:protected voidAND 任意列LIKE %value%:任意列LIKE %value%:someEndWith(String[] columns, String value) AND 任意列LIKE %value:someEndWith(String[] columns, String value, Logic logic) 任意列LIKE %value:任意列LIKE %value%:AND 任意列 [op] [value]:AND 任意列LIKE %value%:任意列LIKE %value%:someStartWith(String[] columns, String value) AND 任意列LIKE value%:someStartWith(String[] columns, String value, Logic logic) 任意列LIKE value%:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:设置要查询的表,可以是多个表,如下用法都是正确的:where 表达式,如下写法都是合法的:where 表达式,例如:where 表达式,带参数值,如下写法都是合法的:where 表达式,根据传入条件,当为false时,则忽略此查询条件where 表达式,根据传入条件,当为false时,则忽略此查询条件whereIfNotNull(String column, Oper op, Object value) where 表达式,判断值不为null时,表达式才被采用,否则表达式会被丢弃:whereIfNotNull(String expr, Object value) where 表达式,判断值不为null时,表达式才被采用,否则表达式会被丢弃:with(SqlBuilder subQuery, String alias) with 语句支持, 并将子查询自动添加到from中:Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface cn.dinodev.spring.data.sql.SqlBuilder
appendList, appendList, getParams, getSql
-
Field Details
-
EMPTY_PARAMS
-
tables
-
whereColumns
-
whereParams
-
withSql
-
withName
-
-
Constructor Details
-
WhereSql
public WhereSql()
-
-
Method Details
-
setThat
-
table
设置要查询的表,可以是多个表,如下用法都是正确的:-
from("table1, table2");-
from("table1", "table2");- Parameters:
tables-- Returns:
-
with
with 语句支持, 并将子查询自动添加到from中:-
with #alias AS ( #subQuery语句 ); select colums from #alias- Parameters:
subQuery- 子查询alias- 临时查询的别名- Returns:
-
where
where 表达式,如下写法都是合法的:-
where("status = 1")-
where("status = 1 and id = ?")- Parameters:
expr-- Returns:
-
where
where 表达式,带参数值,如下写法都是合法的:-
where("id = ?", id)-
where("status = 1 and classId = ? and score > ?", classId, 60)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)- Parameters:
expr-values-- Returns:
-
where
where 表达式,例如:-
where("col1", Oper.EQ, val)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)- Parameters:
column-op-value-- Returns:
-
whereIfNotNull
where 表达式,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
whereIfNotNull("type = ?", null); 则会忽略这个表达式,不会根据type字段筛选。-
whereIfNotNull("type = ?", 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)- Parameters:
expr-value-- Returns:
-
whereIfNotNull
where 表达式,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
whereIfNotNull("type", Oper.EQ, null); 则会忽略这个表达式,不会根据type字段筛选。-
whereIfNotNull("type", Oper.EQ, 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)- Parameters:
column-op-value-- Returns:
-
whereIf
where 表达式,根据传入条件,当为false时,则忽略此查询条件-
whereIf(false, "type=?", 1); 则会忽略这个表达式,不会根据type字段筛选。-
whereIf(true, "type=? or type=?", 1, 2); type= 1||2的记录会被筛选出来。in表达式请使用
#in(String, List)like表达式请使用
like(String, String)- Parameters:
cnd-expr-values-- Returns:
-
whereIf
where 表达式,根据传入条件,当为false时,则忽略此查询条件-
whereIf(false, "type", “=”, 1); 则会忽略这个表达式,不会根据type字段筛选。-
whereIf(true, "type", Oper.EQ, 1, 2); type= 1||2的记录会被筛选出来。in表达式请使用
#in(String, List)like表达式请使用
like(String, String)- Parameters:
cnd-column-op-value-- Returns:
-
and
where 表达式,用 AND 连接,如下写法都是合法的:-
and("status = 1")-
and("status = 1 and id = ?")如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
expr-- Returns:
-
and
where 表达式,带参数值,用 AND 连接,如下写法都是合法的:-
and("id = ?", id)-
and("status = 1 and classId = ? and score > ?", classId, 60)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
expr-values-- Returns:
-
and
where 表达式,用 AND 连接,例如:-
and("col1", Oper.EQ, val)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
column-op-value-- Returns:
-
andIf
where 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件-
andIf(false, "type=?", 1); 则会忽略这个表达式,不会根据type字段筛选。-
andIf(true, "type=? or type=?", 1, 2); type= 1||2的记录会被筛选出来。in表达式请使用
#in(String, List, String)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
cnd-expr-values-- Returns:
-
andIf
where 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件-
andIf(false, "type", “=”, 1); 则会忽略这个表达式,不会根据type字段筛选。-
andIf(true, "type", Oper.EQ, 1); type= 1的记录会被筛选出来。in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
cnd-column-op-value-- Returns:
-
andIfNotNull
where 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
andIfNotNull("type = ?", null); 则会忽略这个表达式,不会根据type字段筛选。-
andIfNotNull("type = ?", 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
expr-value-- Returns:
-
andIfNotNull
where 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
andIfNotNull("type", Oper.EQ, null); 则会忽略这个表达式,不会根据type字段筛选。-
andIfNotNull("type", Oper.EQ, 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
column-op-value-- Returns:
-
eq
where eq 表达式,用 AND 连接,例如:-
and("col1", val)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
column-op-value-- Returns:
-
eqIf
where eq 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件-
eqIf(false, "type", 1); 则会忽略这个表达式,不会根据type字段筛选。-
eqIf(true, "type", 1); type= 1的记录会被筛选出来。in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
cnd-column-value-- Returns:
-
eqIfNotNull
where eq 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
eqIfNotNull("type", null); 则会忽略这个表达式,不会根据type字段筛选。-
eqIfNotNull("type", 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
column-value-- Returns:
-
eqIfNotBlank
where eq 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
eqIfNotNull("type", null); 则会忽略这个表达式,不会根据type字段筛选。-
eqIfNotNull("type", 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
column-value-- Returns:
-
ne
where ne 表达式,用 AND 连接,例如:-
and("col1", val)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
column-op-value-- Returns:
-
neIf
where ne 表达式,用 AND 连接,根据传入条件,当为false时,则忽略此查询条件-
neIf(false, "type", 1); 则会忽略这个表达式,不会根据type字段筛选。-
neIf(true, "type", 1); type= 1的记录会被筛选出来。in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 AND 会被忽略
- Parameters:
cnd-column-value-- Returns:
-
neIfNotNull
where ne 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
neIfNotNull("type", null); 则会忽略这个表达式,不会根据type字段筛选。-
nqIfNotNull("type", 1);如果前面没有其他表达式,则 AND 会被忽略- Parameters:
column-value-- Returns:
-
neIfNotBlank
where ne 表达式,用 AND 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
neIfNotNull("type", null); 则会忽略这个表达式,不会根据type字段筛选。-
neIfNotNull("type", 1);如果前面没有其他表达式,则 AND 会被忽略- Parameters:
column-value-- Returns:
-
or
where 表达式,用OR连接,如下写法都是合法的:-
or("status = 1")-
or("status = 1 and id = ?")如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
expr-- Returns:
-
or
where 表达式,带参数值,用 OR 连接,如下写法都是合法的:-
or("id = ?", id)-
or("status = 1 and classId = ? and score > ?", classId, 60)in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
expr-values-- Returns:
-
or
where 表达式,用 OR 连接,例如:-
or("col1", Oper.EQ, val)in表达式请使用
#in(String, List, String)like表达式请使用
#like(String, String, String)如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
column-op-value-- Returns:
-
orIf
where 表达式,用 OR 连接,根据传入条件,当为false时,则忽略此查询条件-
orIf(false, "type=?", 1); 则会忽略这个表达式,不会根据type字段筛选。-
orIf(true, "type=? or type=?", 1, 2); type= 1||2的记录会被筛选出来。in表达式请使用
#in(String, List, String)like表达式请使用
like(String, String)如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
cnd-expr-values-- Returns:
-
orIf
where 表达式,用 OR 连接,根据传入条件,当为false时,则忽略此查询条件-
orIf(false, "type", “=”, 1); 则会忽略这个表达式,不会根据type字段筛选。-
orIf(true, "type", Oper.EQ, 1, 2); type= 1||2的记录会被筛选出来。in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
cnd-column-op-value-- Returns:
-
orIfNotNull
where 表达式,用 OR 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
orIfNotNull("type = ?", null); 则会忽略这个表达式,不会根据type字段筛选。-
orIfNotNull("type = ?", 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
expr-value-- Returns:
-
orIfNotNull
where 表达式,用 OR 连接,判断值不为null时,表达式才被采用,否则表达式会被丢弃:-
orIfNotNull("type", Oper.EQ, null); 则会忽略这个表达式,不会根据type字段筛选。-
orIfNotNull("type", Oper.EQ, 1);in表达式请使用
#in(String, List)like表达式请使用
like(String, String)如果前面没有其他表达式,则 OR 会被忽略
- Parameters:
column-op-value-- Returns:
-
between
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
like("name", "abc");生成的sql为:[AND] name like '%abc%';
默认使用 AND 连接
- Parameters:
column-start-end-- Returns:
-
between
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
like("name", "abc");生成的sql为:[AND] name like '%abc%';
默认使用 AND 连接
- Parameters:
column-start-end-- Returns:
-
any
where 表达式中的 ANY 函数,其参数为一个子查询,如下:-
any("id", "select id from student where classId=1"),生成的sql为:[AND] id = any(subquery sql)
默认使用 AND 连接
- Parameters:
column-subQuery-- Returns:
-
any
where 表达式中的 ANY 函数,其参数为一个子查询,如下:-
any("id", "select id from student where classId=1", "OR"),生成的sql为:[OR] id = any(subquery sql)
使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
- Parameters:
column-subQuery-logic-- Returns:
-
some
任意列LIKE %value%:-
如果value为blank,则会忽略此条件- 如 some(["col1", "col2"], Oper.EQ "a", Logic.AND) 则转化为 AND ( col1 = 'a' OR col2 = 'a')
- 如 some(["col1", "col2"], Oper.EQ, "a", Logic.OR) 则转化为 OR ( col1 = 'a' OR col2 = 'a')
- Parameters:
columns- 多个列op- 操作符value- 关键字logic- 外围逻辑- Returns:
-
some
AND 任意列LIKE %value%:-
如果value为blank,则会忽略此条件- 如 some(["col1", "col2"], Oper.EQ, "a") 则转化为 AND ( col1 = 'a' OR col2 = 'a')
- Parameters:
columns- 多个列op- 操作符value- 关键字- Returns:
-
someIf
任意列LIKE %value%:-
如果value为blank,则会忽略此条件- 如 some(["col1", "col2"], Oper.EQ "a", Logic.AND) 则转化为 AND ( col1 = 'a' OR col2 = 'a')
- 如 some(["col1", "col2"], Oper.EQ, "a", Logic.OR) 则转化为 OR ( col1 = 'a' OR col2 = 'a')
- Parameters:
cnd- 条件columns- 多个列op- 操作符value- 关键字logic- 外围逻辑- Returns:
-
someIf
AND 任意列 [op] [value]:-
如果value为blank,则会忽略此条件- 如 some(["col1", "col2"], Oper.EQ, "a") 则转化为 AND ( col1 = 'a' OR col2 = 'a')
- Parameters:
cnd- 条件columns- 多个列op- 操作符value- 关键字- Returns:
-
in
where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
in("type", typesList);默认使用 AND 连接
- Parameters:
column-values-- Returns:
-
inIf
where 表达式中的 IN 语句,根据传入条件,当为false时,则忽略此查询条件. 其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
inIf(true, "type", typesList);默认使用 AND 连接
- Parameters:
cnd-column-values-- Returns:
-
in
where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
in("type", typesList, "OR");使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
- Parameters:
column-values-logic-- Returns:
-
in
where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
in("type", typesArray);默认使用 AND 连接
- Parameters:
column-values-- Returns:
-
inIf
where 表达式中的 IN 语句,根据传入条件,当为false时,则忽略此查询条件. 其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
inIf(true, "type", typesArray);默认使用 AND 连接
- Parameters:
cnd-column-values-- Returns:
-
in
where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
in("type", typesArray, "OR");使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
- Parameters:
column-values-logic-- Returns:
-
notIn
where 表达式中的 NOT IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
not in("type", typesList);默认使用 AND 连接
- Parameters:
column-values-- Returns:
-
notIn
where 表达式中的 NOT IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用=操作符替代-
not in("type", typesList, "OR");使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
- Parameters:
column-values-logic-- Returns:
-
notIn
where 表达式中的 NOT IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用!=操作符替代-
notIn("type", typesArray);默认使用 AND 连接
- Parameters:
column-values-- Returns:
-
notIn
where 表达式中的 IN 语句,其参数为数组,按照如下处理逻辑:-
如果数组为空,则会忽略此条件-
如果数组长度为1,则用!=操作符替代-
notIn("type", typesArray, "OR");使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
- Parameters:
column-values-logic-- Returns:
-
isNull
[AND] column IS NULL- Parameters:
column- 列名- Returns:
-
isNull
[AND|OR] column IS NULL- Parameters:
column- 列名logic- 外部逻辑符- Returns:
-
isNullIf
如果条件成立,则为[AND] column IS NULL,否则忽略- Parameters:
cnd- 条件column- 列名- Returns:
-
isNullIf
如果条件成立,则为[AND|OR] column IS NULL,否则忽略- Parameters:
cnd- 条件column- 列名logic- 外部逻辑符- Returns:
-
isNotNull
[AND] column IS NOT NULL- Parameters:
column- 列名- Returns:
-
isNotNull
[AND|OR] column IS NOT NULL- Parameters:
column- 列名logic- 外部逻辑符- Returns:
-
isNotNullIf
如果条件成立,则为[AND] column IS NOT NULL,否则忽略- Parameters:
cnd- 条件column- 列名- Returns:
-
isNotNullIf
如果条件成立,则为[AND|OR] column IS NOT NULL,否则忽略- Parameters:
cnd- 条件column- 列名logic- 外部逻辑符- Returns:
-
like
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
like("name", "abc");生成的sql为:[AND] name like '%abc%';
默认使用 AND 连接
- Parameters:
column-value-- Returns:
-
like
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
like("name", "abc", "OR");生成的sql为:[OR] name like '%abc%';
使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
- Parameters:
column-value-logic-- Returns:
-
someLike
任意列LIKE %value%:-
如果value为blank,则会忽略此条件- 如 someLike(["col1", "col2", "a", Logic.AND]) 则转化为 AND ( col1 LIKE '%a%' OR col2 LIKE '%a%')
- 如 someLike(["col1", "col2", "a", Logic.OR]) 则转化为 OR ( col1 LIKE '%a%' OR col2 LIKE '%a%')
- Parameters:
columns- 多个列value- 关键字logic- 外围逻辑- Returns:
-
someLike
AND 任意列LIKE %value%:-
如果value为blank,则会忽略此条件如 someLike(["col1", "col2", "a") 则转化为 AND ( col1 LIKE '%a%' OR col2 LIKE '%a%')
- Parameters:
columns- 多个列value- 关键字- Returns:
-
startWith
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
startWith("name", "abc");生成的sql为:[AND] name like 'abc%';
默认使用 AND 连接
全匹配或部分匹配请使用
like(String, String)或endWith(String, String)- Parameters:
column-value-- Returns:
-
startWith
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
startWith("name", "abc", "OR");生成的sql为:[OR] name like 'abc%';
使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
全匹配或部分匹配请使用
like(String, String)或endWith(String, String)- Parameters:
column-value-logic-- Returns:
-
someStartWith
任意列LIKE value%:-
如果value为blank,则会忽略此条件- 如 someStartWith(["col1", "col2", "a", Logic.AND]) 则转化为 AND ( col1 LIKE 'a%' OR col2 LIKE 'a%')
- 如 someStartWith(["col1", "col2", "a", Logic.OR]) 则转化为 OR ( col1 LIKE 'a%' OR col2 LIKE 'a%')
- Parameters:
columns- 多个列value- 关键字logic- 外围逻辑- Returns:
-
someStartWith
AND 任意列LIKE value%:-
如果value为blank,则会忽略此条件如 someStartWith(["col1", "col2", "a") 则转化为 AND ( col1 LIKE 'a%' OR col2 LIKE 'a%')
- Parameters:
columns- 多个列value- 关键字- Returns:
-
endWith
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
endWith("name", "abc"); //生成的sql为:[AND] name like '%abc';
默认使用 AND 连接
全匹配或部分匹配请使用
like(String, String)或startWith(String, String)- Parameters:
column-value-- Returns:
-
endWith
where 表达式中的 LIKE 语句,其参数为数组,按照如下处理逻辑:-
如果value为blank,则会忽略此条件-
endWith("name", "abc", "OR"); //生成的sql为:[OR] name like '%abc';
使用 logic 逻辑符 连接,如果前面没有任何条件表达式,则 logic 会被忽略
全匹配或部分匹配请使用
like(String, String)或startWith(String, String)- Parameters:
column-value-logic-- Returns:
-
someEndWith
任意列LIKE %value:-
如果value为blank,则会忽略此条件- 如 someEndWith(["col1", "col2", "a", Logic.AND]) 则转化为 AND ( col1 LIKE '%a' OR col2 LIKE '%a')
- 如 someEndWith(["col1", "col2", "a", Logic.OR]) 则转化为 OR ( col1 LIKE '%a' OR col2 LIKE '%a')
- Parameters:
columns- 多个列value- 关键字logic- 外围逻辑- Returns:
-
someEndWith
AND 任意列LIKE %value:-
如果value为blank,则会忽略此条件如 someEndWith(["col1", "col2", "a") 则转化为 AND ( col1 LIKE '%a' OR col2 LIKE '%a')
- Parameters:
columns- 多个列value- 关键字- Returns:
-