类 AbstractWrapper<T,R,Children extends AbstractWrapper<T,R,Children>>
- 所有已实现的接口:
Compare<Children,R>,Func<Children,R>,Join<Children>,Nested<Children,Children>,ISqlSegment,Serializable
- 直接已知子类:
AbstractLambdaWrapper,QueryWrapper,UpdateWrapper
public abstract class AbstractWrapper<T,R,Children extends AbstractWrapper<T,R,Children>> extends Wrapper<T> implements Compare<Children,R>, Nested<Children,Children>, Join<Children>, Func<Children,R>
- 从以下版本开始:
- 2017-05-26
- 作者:
- hubin miemie HCL
- 另请参阅:
- 序列化表格
-
字段概要
字段 修饰符和类型 字段 说明 protected MergeSegmentsexpressionprotected SharedStringlastSqlprotected AtomicIntegerparamNameSeq必要度量protected Map<String,Object>paramNameValuePairsprotected SharedStringsqlCommentSQL注释protected SharedStringsqlFirstSQL起始语句protected ChildrentypedThis占位符 -
构造器概要
构造器 构造器 说明 AbstractWrapper() -
方法概要
修饰符和类型 方法 说明 protected ChildrenaddCondition(boolean condition, R column, SqlKeyword sqlKeyword, Object val)普通查询条件protected ChildrenaddNestedCondition(boolean condition, Consumer<Children> consumer)多重嵌套查询条件<V> ChildrenallEq(boolean condition, BiPredicate<R,V> filter, Map<R,V> params, boolean null2IsNull)字段过滤接口,传入多参数时允许对参数进行过滤<V> ChildrenallEq(boolean condition, Map<R,V> params, boolean null2IsNull)map 所有非空属性等于 =protected Childrenand(boolean condition)内部自用Childrenand(boolean condition, Consumer<Children> consumer)AND 嵌套Childrenapply(boolean condition, String applySql, Object... value)拼接 sqlChildrenbetween(boolean condition, R column, Object val1, Object val2)BETWEEN 值1 AND 值2voidclear()条件清空Childrenclone()protected StringcolumnsToString(R... columns)多字段转换为逗号 "," 分割字符串protected StringcolumnToString(R column)获取 columnNameChildrencomment(boolean condition, String comment)sql 注释(会拼接在 sql 的最后面)protected ChildrendoIt(boolean condition, ISqlSegment... sqlSegments)对sql片段进行组装Childreneq(boolean condition, R column, Object val)等于 =Childrenexists(boolean condition, String existsSql)拼接 EXISTS ( sql语句 )Childrenfirst(boolean condition, String firstSql)sql 起始句(会拼接在SQL语句的起始处)protected StringformatSql(String sqlStr, Object... params)格式化SQLprotected StringformatSqlIfNeed(boolean need, String sqlStr, Object... params)根据需要格式化SQL
Format SQL for methods: EntityQ.where/and/or... Childrenfunc(boolean condition, Consumer<Children> consumer)消费函数Childrenge(boolean condition, R column, Object val)大于等于 >=TgetEntity()实体对象(子类实现)Class<T>getEntityClass()MergeSegmentsgetExpression()获取 MergeSegmentsMap<String,Object>getParamNameValuePairs()StringgetSqlComment()StringgetSqlFirst()StringgetSqlSegment()SQL 片段ChildrengroupBy(boolean condition, R... columns)分组:GROUP BY 字段, ...Childrengt(boolean condition, R column, Object val)大于 >Childrenhaving(boolean condition, String sqlHaving, Object... params)HAVING ( sql语句 )Childrenin(boolean condition, R column, Collection<?> coll)字段 IN (value.get(0), value.get(1), ...)protected voidinitNeed()必要的初始化ChildreninSql(boolean condition, R column, String inValue)字段 IN ( sql语句 )protected abstract Childreninstance()子类返回一个自己的新对象ChildrenisNotNull(boolean condition, R column)字段 IS NOT NULLChildrenisNull(boolean condition, R column)字段 IS NULLChildrenlast(boolean condition, String lastSql)无视优化规则直接拼接到 sql 的最后(有sql注入的风险,请谨慎使用)Childrenle(boolean condition, R column, Object val)小于等于 <=Childrenlike(boolean condition, R column, Object val)LIKE '%值%'ChildrenlikeLeft(boolean condition, R column, Object val)LIKE '%值'ChildrenlikeRight(boolean condition, R column, Object val)LIKE '值%'protected ChildrenlikeValue(boolean condition, SqlKeyword keyword, R column, Object val, SqlLike sqlLike)内部自用Childrenlt(boolean condition, R column, Object val)小于 <Childrenne(boolean condition, R column, Object val)不等于 <>Childrennested(boolean condition, Consumer<Children> consumer)正常嵌套 不带 AND 或者 ORprotected Childrennot(boolean condition)内部自用Childrennot(boolean condition, Consumer<Children> consumer)not嵌套ChildrennotBetween(boolean condition, R column, Object val1, Object val2)NOT BETWEEN 值1 AND 值2ChildrennotExists(boolean condition, String existsSql)拼接 NOT EXISTS ( sql语句 )ChildrennotIn(boolean condition, R column, Collection<?> coll)字段 NOT IN (value.get(0), value.get(1), ...)ChildrennotInSql(boolean condition, R column, String inValue)字段 NOT IN ( sql语句 )ChildrennotLike(boolean condition, R column, Object val)NOT LIKE '%值%'Childrenor(boolean condition)拼接 ORChildrenor(boolean condition, Consumer<Children> consumer)OR 嵌套ChildrenorderBy(boolean condition, boolean isAsc, R... columns)排序:ORDER BY 字段, ...ChildrensetEntity(T entity)ChildrensetEntityClass(Class<T> entityClass)从类继承的方法 com.baomidou.mybatisplus.core.conditions.Wrapper
getCustomSqlSegment, getSqlSelect, getSqlSet, getTargetSql, isEmptyOfEntity, isEmptyOfNormal, isEmptyOfWhere, nonEmptyOfEntity, nonEmptyOfNormal, nonEmptyOfWhere从类继承的方法 java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 com.baomidou.mybatisplus.core.conditions.interfaces.Compare
allEq, allEq, allEq, allEq, between, eq, ge, gt, le, like, likeLeft, likeRight, lt, ne, notBetween, notLike从接口继承的方法 com.baomidou.mybatisplus.core.conditions.interfaces.Func
func, groupBy, groupBy, having, in, in, in, inSql, isNotNull, isNull, notIn, notIn, notIn, notInSql, orderByAsc, orderByAsc, orderByAsc, orderByDesc, orderByDesc, orderByDesc
-
字段详细资料
-
typedThis
占位符 -
paramNameSeq
必要度量 -
paramNameValuePairs
-
lastSql
-
sqlComment
SQL注释 -
sqlFirst
SQL起始语句 -
expression
-
-
构造器详细资料
-
AbstractWrapper
public AbstractWrapper()
-
-
方法详细资料
-
getEntity
从类复制的说明:Wrapper实体对象(子类实现) -
setEntity
-
getEntityClass
-
setEntityClass
-
allEq
从接口复制的说明:Comparemap 所有非空属性等于 = -
allEq
public <V> Children allEq(boolean condition, BiPredicate<R,V> filter, Map<R,V> params, boolean null2IsNull)从接口复制的说明:Compare字段过滤接口,传入多参数时允许对参数进行过滤 -
eq
从接口复制的说明:Compare等于 = -
ne
从接口复制的说明:Compare不等于 <> -
gt
从接口复制的说明:Compare大于 > -
ge
从接口复制的说明:Compare大于等于 >= -
lt
从接口复制的说明:Compare小于 < -
le
从接口复制的说明:Compare小于等于 <= -
like
从接口复制的说明:CompareLIKE '%值%' -
notLike
从接口复制的说明:CompareNOT LIKE '%值%' -
likeLeft
从接口复制的说明:CompareLIKE '%值' -
likeRight
从接口复制的说明:CompareLIKE '值%' -
between
从接口复制的说明:CompareBETWEEN 值1 AND 值2 -
notBetween
从接口复制的说明:CompareNOT BETWEEN 值1 AND 值2- 指定者:
notBetween在接口中Compare<T,R>- 参数:
condition- 执行条件column- 字段val1- 值1val2- 值2- 返回:
- children
-
and
从接口复制的说明:NestedAND 嵌套例: and(i -> i.eq("name", "李白").ne("status", "活着"))
-
or
从接口复制的说明:NestedOR 嵌套例: or(i -> i.eq("name", "李白").ne("status", "活着"))
-
nested
从接口复制的说明:Nested正常嵌套 不带 AND 或者 OR例: nested(i -> i.eq("name", "李白").ne("status", "活着"))
-
not
从接口复制的说明:Nestednot嵌套例: not(i -> i.eq("name", "李白").ne("status", "活着"))
-
or
从接口复制的说明:Join拼接 OR -
apply
从接口复制的说明:Join拼接 sql!! 会有 sql 注入风险 !!
例1: apply("id = 1")
例2: apply("date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")
例3: apply("date_format(dateColumn,'%Y-%m-%d') = {0}", LocalDate.now())
-
last
从接口复制的说明:Join无视优化规则直接拼接到 sql 的最后(有sql注入的风险,请谨慎使用)例: last("limit 1")
注意只能调用一次,多次调用以最后一次为准
-
comment
从接口复制的说明:Joinsql 注释(会拼接在 sql 的最后面) -
first
从接口复制的说明:Joinsql 起始句(会拼接在SQL语句的起始处) -
exists
从接口复制的说明:Join拼接 EXISTS ( sql语句 )!! sql 注入方法 !!
例: exists("select id from table where age = 1")
-
notExists
从接口复制的说明:Join拼接 NOT EXISTS ( sql语句 )!! sql 注入方法 !!
例: notExists("select id from table where age = 1")
-
isNull
从接口复制的说明:Func字段 IS NULL例: isNull("name")
-
isNotNull
从接口复制的说明:Func字段 IS NOT NULL例: isNotNull("name")
-
in
从接口复制的说明:Func字段 IN (value.get(0), value.get(1), ...)例: in("id", Arrays.asList(1, 2, 3, 4, 5))
- 如果集合为 empty 则不会进行 sql 拼接
-
notIn
从接口复制的说明:Func字段 NOT IN (value.get(0), value.get(1), ...)例: notIn("id", Arrays.asList(1, 2, 3, 4, 5))
-
inSql
从接口复制的说明:Func字段 IN ( sql语句 )!! sql 注入方式的 in 方法 !!
例1: inSql("id", "1, 2, 3, 4, 5, 6")
例2: inSql("id", "select id from table where id < 3")
-
notInSql
从接口复制的说明:Func字段 NOT IN ( sql语句 )!! sql 注入方式的 not in 方法 !!
例1: notInSql("id", "1, 2, 3, 4, 5, 6")
例2: notInSql("id", "select id from table where id < 3")
-
groupBy
从接口复制的说明:Func分组:GROUP BY 字段, ...例: groupBy("id", "name")
-
orderBy
从接口复制的说明:Func排序:ORDER BY 字段, ...例: orderBy(true, "id", "name")
-
having
从接口复制的说明:FuncHAVING ( sql语句 )例1: having("sum(age) > 10")
例2: having("sum(age) > {0}", 10)
-
func
从接口复制的说明:Func消费函数 -
not
内部自用NOT 关键词
-
and
内部自用拼接 AND
-
likeValue
protected Children likeValue(boolean condition, SqlKeyword keyword, R column, Object val, SqlLike sqlLike)内部自用拼接 LIKE 以及 值
-
addCondition
普通查询条件- 参数:
condition- 是否执行column- 属性sqlKeyword- SQL 关键词val- 条件值
-
addNestedCondition
多重嵌套查询条件- 参数:
condition- 查询条件值
-
instance
子类返回一个自己的新对象 -
formatSql
格式化SQL- 参数:
sqlStr- SQL语句部分params- 参数集- 返回:
- sql
-
formatSqlIfNeed
根据需要格式化SQL
Format SQL for methods: EntityQ.where/and/or...("name={0}", value); ALL the {i} will be replaced with #{MPGENVALi}
ew.where("sample_name={0}", "haha").and("sample_age >{0} and sample_age<{1}", 18, 30) TO sample_name=#{MPGENVAL1} and sample_age>#{MPGENVAL2} and sample_age<#{MPGENVAL3}
- 参数:
need- 是否需要格式化sqlStr- SQL语句部分params- 参数集- 返回:
- sql
-
initNeed
protected void initNeed()必要的初始化 -
clear
public void clear()从类复制的说明:Wrapper条件清空 -
doIt
对sql片段进行组装- 参数:
condition- 是否执行sqlSegments- sql片段数组- 返回:
- children
-
getSqlSegment
从接口复制的说明:ISqlSegmentSQL 片段- 指定者:
getSqlSegment在接口中ISqlSegment
-
getSqlComment
- 覆盖:
getSqlComment在类中Wrapper<T>
-
getSqlFirst
- 覆盖:
getSqlFirst在类中Wrapper<T>
-
getExpression
从类复制的说明:Wrapper获取 MergeSegments- 指定者:
getExpression在类中Wrapper<T>
-
getParamNameValuePairs
-
columnToString
获取 columnName -
columnsToString
多字段转换为逗号 "," 分割字符串- 参数:
columns- 多字段
-
clone
-