Class KtAbstractWrapper<T,Children extends KtAbstractWrapper<T,Children>>

java.lang.Object
com.baomidou.mybatisplus.core.conditions.Wrapper<T>
com.github.yulichang.extension.kt.KtAbstractWrapper<T,Children>
All Implemented Interfaces:
com.baomidou.mybatisplus.core.conditions.interfaces.Nested<Children,Children>, com.baomidou.mybatisplus.core.conditions.ISqlSegment, Compare<Children>, CompareIfExists<Children>, Func<Children>, OnCompare<Children>, CompareStr<Children,String>, CompareStrIfExists<Children,String>, FuncStr<Children,String>, Join<Children>, Serializable
Direct Known Subclasses:
KtAbstractLambdaWrapper

public abstract class KtAbstractWrapper<T,Children extends KtAbstractWrapper<T,Children>> extends com.baomidou.mybatisplus.core.conditions.Wrapper<T> implements CompareIfExists<Children>, com.baomidou.mybatisplus.core.conditions.interfaces.Nested<Children,Children>, Join<Children>, Func<Children>, OnCompare<Children>, CompareStrIfExists<Children,String>, FuncStr<Children,String>
查询条件封装 copy AbstractWrapper
Author:
yulichang
See Also:
  • Field Details

    • typedThis

      protected final Children extends KtAbstractWrapper<T,Children> typedThis
      占位符
    • index

      protected Integer index
      表别名
    • paramNameSeq

      protected AtomicInteger paramNameSeq
      必要度量
    • paramNameValuePairs

      protected Map<String,Object> paramNameValuePairs
    • paramAlias

      protected com.baomidou.mybatisplus.core.conditions.SharedString paramAlias
      其他
    • lastSql

      protected com.baomidou.mybatisplus.core.conditions.SharedString lastSql
    • sqlComment

      protected com.baomidou.mybatisplus.core.conditions.SharedString sqlComment
      SQL注释
    • sqlFirst

      protected com.baomidou.mybatisplus.core.conditions.SharedString sqlFirst
      SQL起始语句
    • onWrappers

      protected final List<Children extends KtAbstractWrapper<T,Children>> onWrappers
      ON sql wrapper集合
    • expression

      protected com.baomidou.mybatisplus.core.conditions.segments.MergeSegments expression
    • joinClass

      protected Class<?> joinClass
      连表实体类 on 条件 func 使用
    • tableName

      protected String tableName
      连表表名
    • isMain

      protected boolean isMain
      主表wrapper
    • isNo

      protected boolean isNo
      是否是OnWrapper
    • tableList

      protected TableList tableList
      关联的表
    • checkSqlInjection

      protected boolean checkSqlInjection
      检查 SQL 注入过滤
    • ifExists

      IfExists 策略
  • Constructor Details

    • KtAbstractWrapper

      public KtAbstractWrapper()
  • Method Details

    • getEntity

      public T getEntity()
      Specified by:
      getEntity in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • setEntity

      public Children setEntity(T entity)
    • getEntityClass

      public Class<T> getEntityClass()
    • setEntityClass

      public Children setEntityClass(Class<T> entityClass)
    • toChildren

      public <C extends Children> C toChildren(Ref<C> children)
      转为子类,方便自定义继承扩展
    • toChildren

      public <C extends Children> C toChildren(Supplier<C> s)
      转为子类,方便自定义继承扩展 需要子类自定义字段
    • checkSqlInjection

      public Children checkSqlInjection()
      开启检查 SQL 注入
    • setIfExists

      public Children setIfExists(BiPredicate<Object,IfExistsSqlKeyWordEnum> IfExists)
    • setIfExists

      public Children setIfExists(Predicate<Object> IfExists)
    • allEq

      public Children allEq(boolean condition, Map<kotlin.reflect.KProperty<?>,?> params, boolean null2IsNull)
      Description copied from interface: Compare
      map 所有非空属性等于 =
      Specified by:
      allEq in interface Compare<T>
      Parameters:
      condition - 执行条件
      params - map 类型的参数, key 是字段名, value 是字段值
      null2IsNull - 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段\
      Returns:
      children
    • eq

      public Children eq(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      等于 =
      Specified by:
      eq in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • ne

      public Children ne(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      不等于 <>
      Specified by:
      ne in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • gt

      public Children gt(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      大于 >
      Specified by:
      gt in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • ge

      public Children ge(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      大于等于 >=
      Specified by:
      ge in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • lt

      public Children lt(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      小于 <
      Specified by:
      lt in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • le

      public Children le(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      小于等于 <=
      Specified by:
      le in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • like

      public Children like(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      LIKE '%值%'
      Specified by:
      like in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • notLike

      public Children notLike(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      NOT LIKE '%值%'
      Specified by:
      notLike in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • likeLeft

      public Children likeLeft(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      LIKE '%值'
      Specified by:
      likeLeft in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • notLikeLeft

      public Children notLikeLeft(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      LIKE '%值'
      Specified by:
      notLikeLeft in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • likeRight

      public Children likeRight(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      LIKE '值%'
      Specified by:
      likeRight in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • notLikeRight

      public Children notLikeRight(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val)
      Description copied from interface: Compare
      LIKE '值%'
      Specified by:
      notLikeRight in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • between

      public Children between(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val1, Object val2)
      Description copied from interface: Compare
      BETWEEN 值1 AND 值2
      Specified by:
      between in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val1 - 值1
      val2 - 值2
      Returns:
      children
    • notBetween

      public Children notBetween(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object val1, Object val2)
      Description copied from interface: Compare
      NOT BETWEEN 值1 AND 值2
      Specified by:
      notBetween in interface Compare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val1 - 值1
      val2 - 值2
      Returns:
      children
    • and

      public Children and(boolean condition, Consumer<Children> consumer)
      Specified by:
      and in interface com.baomidou.mybatisplus.core.conditions.interfaces.Nested<T,Children extends KtAbstractWrapper<T,Children>>
    • or

      public Children or(boolean condition, Consumer<Children> consumer)
      Specified by:
      or in interface com.baomidou.mybatisplus.core.conditions.interfaces.Nested<T,Children extends KtAbstractWrapper<T,Children>>
    • nested

      public Children nested(boolean condition, Consumer<Children> consumer)
      Specified by:
      nested in interface com.baomidou.mybatisplus.core.conditions.interfaces.Nested<T,Children extends KtAbstractWrapper<T,Children>>
    • not

      public Children not(boolean condition, Consumer<Children> consumer)
      Specified by:
      not in interface com.baomidou.mybatisplus.core.conditions.interfaces.Nested<T,Children extends KtAbstractWrapper<T,Children>>
    • or

      public Children or(boolean condition)
      Description copied from interface: Join
      拼接 OR
      Specified by:
      or in interface Join<T>
      Parameters:
      condition - 执行条件
      Returns:
      children
    • apply

      public Children apply(boolean condition, String applySql, Object... values)
      Description copied from interface: 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())

      Specified by:
      apply in interface Join<T>
      Parameters:
      condition - 执行条件
      values - 数据数组
      Returns:
      children
    • applyFunc

      public Children applyFunc(String applySql, Function<FuncArgs,SelectFunc.Arg[]> consumerFunction, Object... values)
    • applyFunc

      public Children applyFunc(boolean condition, String applySql, Function<FuncArgs,SelectFunc.Arg[]> consumerFunction, Object... values)
    • last

      public Children last(boolean condition, String lastSql)
      Description copied from interface: Join
      无视优化规则直接拼接到 sql 的最后(有sql注入的风险,请谨慎使用)

      例: last("limit 1")

      注意只能调用一次,多次调用以最后一次为准

      Specified by:
      last in interface Join<T>
      Parameters:
      condition - 执行条件
      lastSql - sql语句
      Returns:
      children
    • comment

      public Children comment(boolean condition, String comment)
      Description copied from interface: Join
      sql 注释(会拼接在 sql 的最后面)
      Specified by:
      comment in interface Join<T>
      Parameters:
      condition - 执行条件
      comment - sql注释
      Returns:
      children
    • first

      public Children first(boolean condition, String firstSql)
      Description copied from interface: Join
      sql 起始句(会拼接在SQL语句的起始处)
      Specified by:
      first in interface Join<T>
      Parameters:
      condition - 执行条件
      firstSql - 起始语句
      Returns:
      children
    • around

      public Children around(boolean condition, String firstSql, String lastSql)
      Description copied from interface: Join
      sql 起始句 和介绍语句(会拼接在SQL语句的起始处和结束处)
      Specified by:
      around in interface Join<T>
      Parameters:
      condition - 执行条件
      firstSql - 起始语句
      lastSql - 结束语句
      Returns:
      children
    • exists

      public Children exists(boolean condition, String existsSql, Object... values)
      Description copied from interface: Join
      拼接 EXISTS ( sql语句 )

      !! sql 注入方法 !!

      例: exists("select id from table where age = 1")

      Specified by:
      exists in interface Join<T>
      Parameters:
      condition - 执行条件
      existsSql - sql语句
      values - 数据数组
      Returns:
      children
    • notExists

      public Children notExists(boolean condition, String existsSql, Object... values)
      Description copied from interface: Join
      拼接 NOT EXISTS ( sql语句 )

      !! sql 注入方法 !!

      例: notExists("select id from table where age = 1")

      Specified by:
      notExists in interface Join<T>
      Parameters:
      condition - 执行条件
      existsSql - sql语句
      values - 数据数组
      Returns:
      children
    • isNull

      public Children isNull(boolean condition, String alias, kotlin.reflect.KProperty<?> column)
      Description copied from interface: Func
      字段 IS NULL

      例: isNull("name")

      Specified by:
      isNull in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      Returns:
      children
    • isNotNull

      public Children isNotNull(boolean condition, String alias, kotlin.reflect.KProperty<?> column)
      Description copied from interface: Func
      字段 IS NOT NULL

      例: isNotNull("name")

      Specified by:
      isNotNull in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      Returns:
      children
    • in

      public Children in(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Collection<?> coll)
      Description copied from interface: Func
      字段 IN (value.get(0), value.get(1), ...)

      例: in("id", Arrays.asList(1, 2, 3, 4, 5))

    • 注意!集合为空若存在逻辑错误,请在 condition 条件中判断
    • 如果集合为 empty 则不会进行 sql 拼接
    • Specified by:
      in in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      coll - 数据集合
      Returns:
      children
    • in

      public Children in(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object... values)
      Description copied from interface: Func
      字段 IN (v0, v1, ...)

      例: in("id", 1, 2, 3, 4, 5)

    • 注意!数组为空若存在逻辑错误,请在 condition 条件中判断
    • 如果动态数组为 empty 则不会进行 sql 拼接
    • Specified by:
      in in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      values - 数据数组
      Returns:
      children
    • notIn

      public Children notIn(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Collection<?> coll)
      Description copied from interface: Func
      字段 NOT IN (value.get(0), value.get(1), ...)

      例: notIn("id", Arrays.asList(1, 2, 3, 4, 5))

      Specified by:
      notIn in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      coll - 数据集合
      Returns:
      children
    • notIn

      public Children notIn(boolean condition, String alias, kotlin.reflect.KProperty<?> column, Object... values)
      Description copied from interface: Func
      字段 NOT IN (v0, v1, ...)

      例: notIn("id", 1, 2, 3, 4, 5)

      Specified by:
      notIn in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      values - 数据数组
      Returns:
      children
    • inSql

      public Children inSql(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String inValue)
      Description copied from interface: Func
      字段 IN ( sql语句 )

      !! sql 注入方式的 in 方法 !!

      例1: inSql("id", "1, 2, 3, 4, 5, 6")

      例2: inSql("id", "select id from table where id < 3")

      Specified by:
      inSql in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • notInSql

      public Children notInSql(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String inValue)
      Description copied from interface: 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")

      Specified by:
      notInSql in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句 ---> 1,2,3,4,5,6 或者 select id from table where id < 3
      Returns:
      children
    • gtSql

      public Children gtSql(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String inValue)
      Description copied from interface: Func
      字段 > ( sql语句 )

      例1: gtSql("id", "1, 2, 3, 4, 5, 6")

      例1: gtSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      gtSql in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • geSql

      public Children geSql(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String inValue)
      Description copied from interface: Func
      字段 >= ( sql语句 )

      例1: geSql("id", "1, 2, 3, 4, 5, 6")

      例1: geSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      geSql in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • ltSql

      public Children ltSql(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String inValue)
      Description copied from interface: Func
      字段 < ( sql语句 )

      例1: ltSql("id", "1, 2, 3, 4, 5, 6")

      例1: ltSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      ltSql in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • leSql

      public Children leSql(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String inValue)
      Description copied from interface: Func
      字段 <= ( sql语句 )

      例1: leSql("id", "1, 2, 3, 4, 5, 6")

      例1: leSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      leSql in interface Func<T>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • groupBy

      public Children groupBy(boolean condition, String alias, List<kotlin.reflect.KProperty<?>> columns)
      Specified by:
      groupBy in interface Func<T>
    • groupBy

      public Children groupBy(boolean condition, String alias, kotlin.reflect.KProperty<?>... columns)
      Description copied from interface: Func
      分组:GROUP BY 字段, ...

      例: groupBy("id", "name")

      Specified by:
      groupBy in interface Func<T>
      Parameters:
      condition - 执行条件
      columns - 字段数组
      Returns:
      children
    • orderByAsc

      public Children orderByAsc(boolean condition, String alias, List<kotlin.reflect.KProperty<?>> columns)
      Specified by:
      orderByAsc in interface Func<T>
    • orderByDesc

      public Children orderByDesc(boolean condition, String alias, List<kotlin.reflect.KProperty<?>> columns)
      Specified by:
      orderByDesc in interface Func<T>
    • orderBy

      public Children orderBy(boolean condition, boolean isAsc, String alias, kotlin.reflect.KProperty<?>... columns)
      Description copied from interface: Func
      排序:ORDER BY 字段, ...

      例: orderBy(true, "id", "name")

      Specified by:
      orderBy in interface Func<T>
      Parameters:
      condition - 执行条件
      isAsc - 是否是 ASC 排序
      columns - 字段数组
      Returns:
      children
    • columnSqlInjectFilter

      protected kotlin.reflect.KProperty<?> columnSqlInjectFilter(kotlin.reflect.KProperty<?> column)
      字段 SQL 注入过滤处理,子类重写实现过滤逻辑
      Parameters:
      column - 字段内容
      Returns:
      Children
    • having

      public Children having(boolean condition, String sqlHaving, Object... params)
      Description copied from interface: Func
      HAVING ( sql语句 )

      例1: having("sum(age) > 10")

      例2: having("sum(age) > {0}", 10)

      Specified by:
      having in interface Func<T>
      Parameters:
      condition - 执行条件
      sqlHaving - sql 语句
      params - 参数数组
      Returns:
      children
    • func

      public Children func(boolean condition, Consumer<Children> consumer, Consumer<Children> consumerElse)
      Specified by:
      func in interface Func<T>
    • not

      protected Children not(boolean condition)
      内部自用

      NOT 关键词

    • and

      protected Children and(boolean condition)
      内部自用

      拼接 AND

    • likeValue

      protected Children likeValue(boolean condition, com.baomidou.mybatisplus.core.enums.SqlKeyword keyword, String alias, kotlin.reflect.KProperty<?> column, Object val, com.baomidou.mybatisplus.core.enums.SqlLike sqlLike)
      内部自用

      拼接 LIKE 以及 值

    • likeValue

      protected Children likeValue(boolean condition, com.baomidou.mybatisplus.core.enums.SqlKeyword keyword, String column, Object val, com.baomidou.mybatisplus.core.enums.SqlLike sqlLike)
    • addCondition

      protected Children addCondition(boolean condition, String alias, kotlin.reflect.KProperty<?> column, com.baomidou.mybatisplus.core.enums.SqlKeyword sqlKeyword, Object val)
      普通查询条件
      Parameters:
      condition - 是否执行
      column - 属性
      sqlKeyword - SQL 关键词
      val - 条件值
    • addCondition

      protected <X, S> Children addCondition(boolean condition, String alias, kotlin.reflect.KProperty<?> column, com.baomidou.mybatisplus.core.enums.SqlKeyword sqlKeyword, String rightAlias, kotlin.reflect.KProperty<?> val)
    • addCondition

      protected Children addCondition(boolean condition, String column, com.baomidou.mybatisplus.core.enums.SqlKeyword sqlKeyword, Object val)
    • addNestedCondition

      protected Children addNestedCondition(boolean condition, Consumer<Children> consumer)
      多重嵌套查询条件
      Parameters:
      condition - 查询条件值
    • instance

      protected abstract Children instance()
      子类返回一个自己的新对象
    • instanceEmpty

      protected abstract Children instanceEmpty()
    • instance

      protected abstract Children instance(Integer index, String keyWord, Class<?> joinClass, String tableName)
    • formatSqlMaybeWithParam

      protected final String formatSqlMaybeWithParam(String sqlStr, Object... params)
      格式化 sql

      支持 "{0}" 这种,或者 "sql {0} sql" 这种

      Parameters:
      sqlStr - 可能是sql片段
      params - 参数
      Returns:
      sql片段
    • formatParam

      protected final String formatParam(String mapping, Object param)
      处理入参
      Parameters:
      mapping - 例如: "javaType=int,jdbcType=NUMERIC,typeHandler=xxx.xxx.MyTypeHandler" 这种
      param - 参数
      Returns:
      value
    • maybeDo

      protected final Children maybeDo(boolean condition, DoSomething something)
      函数化的做事
      Parameters:
      condition - 做不做
      something - 做什么
      Returns:
      Children
    • inExpression

      protected com.baomidou.mybatisplus.core.conditions.ISqlSegment inExpression(Collection<?> value)
      获取in表达式 包含括号
      Parameters:
      value - 集合
    • inExpression

      protected com.baomidou.mybatisplus.core.conditions.ISqlSegment inExpression(Object[] values)
      获取in表达式 包含括号
      Parameters:
      values - 数组
    • clear

      public void clear()
      Specified by:
      clear in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • appendSqlSegments

      protected void appendSqlSegments(com.baomidou.mybatisplus.core.conditions.ISqlSegment... sqlSegments)
      添加 where 片段
      Parameters:
      sqlSegments - ISqlSegment 数组
    • getSqlSegment

      public String getSqlSegment()
      Specified by:
      getSqlSegment in interface com.baomidou.mybatisplus.core.conditions.ISqlSegment
    • getSqlComment

      public String getSqlComment()
      Overrides:
      getSqlComment in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • getSqlFirst

      public String getSqlFirst()
      Overrides:
      getSqlFirst in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • getExpression

      public com.baomidou.mybatisplus.core.conditions.segments.MergeSegments getExpression()
      Specified by:
      getExpression in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • getParamAlias

      public String getParamAlias()
    • setParamAlias

      public Children setParamAlias(String paramAlias)
      参数别名设置,初始化时优先设置该值、重复设置异常
      Parameters:
      paramAlias - 参数别名
      Returns:
      Children
    • columnToSqlSegment

      protected final com.baomidou.mybatisplus.core.conditions.ISqlSegment columnToSqlSegment(Integer index, String alias, kotlin.reflect.KProperty<?> column)
      获取 columnName
    • columnToSqlSegmentS

      protected final com.baomidou.mybatisplus.core.conditions.ISqlSegment columnToSqlSegmentS(Integer index, String alias, kotlin.reflect.KProperty<?> column, boolean isJoin)
    • columnToSqlSegment

      protected final com.baomidou.mybatisplus.core.conditions.ISqlSegment columnToSqlSegment(String column)
    • columnToString

      protected String columnToString(String column)
    • columnsToString

      protected String columnsToString(List<String> columns)
    • columnsToString

      protected String columnsToString(String... columns)
    • columnsToString

      protected String columnsToString(Integer index, PrefixEnum prefixEnum, String alias, kotlin.reflect.KProperty<?>... columns)
      多字段转换为逗号 "," 分割字符串
      Parameters:
      columns - 多字段
    • columnsToString

      protected String columnsToString(Integer index, PrefixEnum prefixEnum, String alias, List<kotlin.reflect.KProperty<?>> columns)
    • clone

      public Children clone()
      Overrides:
      clone in class Object
    • eq

      public Children eq(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String rightAlias, kotlin.reflect.KProperty<?> val)
      Description copied from interface: OnCompare
      等于 =
      Specified by:
      eq in interface OnCompare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • ne

      public Children ne(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String rightAlias, kotlin.reflect.KProperty<?> val)
      Description copied from interface: OnCompare
      不等于 <>
      Specified by:
      ne in interface OnCompare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • gt

      public Children gt(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String rightAlias, kotlin.reflect.KProperty<?> val)
      Description copied from interface: OnCompare
      大于 >
      Specified by:
      gt in interface OnCompare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • ge

      public Children ge(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String rightAlias, kotlin.reflect.KProperty<?> val)
      Description copied from interface: OnCompare
      大于等于 >=
      Specified by:
      ge in interface OnCompare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • lt

      public Children lt(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String rightAlias, kotlin.reflect.KProperty<?> val)
      Description copied from interface: OnCompare
      小于 <
      Specified by:
      lt in interface OnCompare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • le

      public Children le(boolean condition, String alias, kotlin.reflect.KProperty<?> column, String rightAlias, kotlin.reflect.KProperty<?> val)
      Description copied from interface: OnCompare
      小于等于 <=
      Specified by:
      le in interface OnCompare<T>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • allEqStr

      public <V> Children allEqStr(boolean condition, Map<String,V> params, boolean null2IsNull)
      Description copied from interface: CompareStr
      map 所有非空属性等于 =
      Specified by:
      allEqStr in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      params - map 类型的参数, key 是字段名, value 是字段值
      null2IsNull - 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段\
      Returns:
      children
    • allEqStr

      public <V> Children allEqStr(boolean condition, BiPredicate<String,V> filter, Map<String,V> params, boolean null2IsNull)
      Description copied from interface: CompareStr
      字段过滤接口,传入多参数时允许对参数进行过滤
      Specified by:
      allEqStr in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      filter - 返回 true 来允许字段传入比对条件中
      params - map 类型的参数, key 是字段名, value 是字段值
      null2IsNull - 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段
      Returns:
      children
    • eq

      public Children eq(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      等于 =
      Specified by:
      eq in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • ne

      public Children ne(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      不等于 <>
      Specified by:
      ne in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • gt

      public Children gt(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      大于 >
      Specified by:
      gt in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • ge

      public Children ge(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      大于等于 >=
      Specified by:
      ge in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • lt

      public Children lt(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      小于 <
      Specified by:
      lt in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • le

      public Children le(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      小于等于 <=
      Specified by:
      le in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • like

      public Children like(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      LIKE '%值%'
      Specified by:
      like in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • notLike

      public Children notLike(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      NOT LIKE '%值%'
      Specified by:
      notLike in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • likeLeft

      public Children likeLeft(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      LIKE '%值'
      Specified by:
      likeLeft in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • notLikeLeft

      public Children notLikeLeft(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      LIKE '%值'
      Specified by:
      notLikeLeft in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • likeRight

      public Children likeRight(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      LIKE '值%'
      Specified by:
      likeRight in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • notLikeRight

      public Children notLikeRight(boolean condition, String column, Object val)
      Description copied from interface: CompareStr
      LIKE '值%'
      Specified by:
      notLikeRight in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val - 值
      Returns:
      children
    • between

      public Children between(boolean condition, String column, Object val1, Object val2)
      Description copied from interface: CompareStr
      BETWEEN 值1 AND 值2
      Specified by:
      between in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val1 - 值1
      val2 - 值2
      Returns:
      children
    • notBetween

      public Children notBetween(boolean condition, String column, Object val1, Object val2)
      Description copied from interface: CompareStr
      NOT BETWEEN 值1 AND 值2
      Specified by:
      notBetween in interface CompareStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      val1 - 值1
      val2 - 值2
      Returns:
      children
    • isNull

      public Children isNull(boolean condition, String column)
      Description copied from interface: FuncStr
      字段 IS NULL

      例: isNull("name")

      Specified by:
      isNull in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      Returns:
      children
    • isNotNull

      public Children isNotNull(boolean condition, String column)
      Description copied from interface: FuncStr
      字段 IS NOT NULL

      例: isNotNull("name")

      Specified by:
      isNotNull in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      Returns:
      children
    • in

      public Children in(boolean condition, String column, Collection<?> coll)
      Description copied from interface: FuncStr
      字段 IN (value.get(0), value.get(1), ...)

      例: in("id", Arrays.asList(1, 2, 3, 4, 5))

    • 注意!集合为空若存在逻辑错误,请在 condition 条件中判断
    • 如果集合为 empty 则不会进行 sql 拼接
    • Specified by:
      in in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      coll - 数据集合
      Returns:
      children
    • in

      public Children in(boolean condition, String column, Object... values)
      Description copied from interface: FuncStr
      字段 IN (v0, v1, ...)

      例: in("id", 1, 2, 3, 4, 5)

    • 注意!数组为空若存在逻辑错误,请在 condition 条件中判断
    • 如果动态数组为 empty 则不会进行 sql 拼接
    • Specified by:
      in in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      values - 数据数组
      Returns:
      children
    • notIn

      public Children notIn(boolean condition, String column, Collection<?> coll)
      Description copied from interface: FuncStr
      字段 NOT IN (value.get(0), value.get(1), ...)

      例: notIn("id", Arrays.asList(1, 2, 3, 4, 5))

      Specified by:
      notIn in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      coll - 数据集合
      Returns:
      children
    • notIn

      public Children notIn(boolean condition, String column, Object... values)
      Description copied from interface: FuncStr
      字段 NOT IN (v0, v1, ...)

      例: notIn("id", 1, 2, 3, 4, 5)

      Specified by:
      notIn in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      values - 数据数组
      Returns:
      children
    • inSql

      public Children inSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 IN ( sql语句 )

      !! sql 注入方式的 in 方法 !!

      例1: inSql("id", "1, 2, 3, 4, 5, 6")

      例2: inSql("id", "select id from table where id < 3")

      Specified by:
      inSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • gtSql

      public Children gtSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 > ( sql语句 )

      例1: gtSql("id", "1, 2, 3, 4, 5, 6")

      例1: gtSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      gtSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • geSql

      public Children geSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 >= ( sql语句 )

      例1: geSql("id", "1, 2, 3, 4, 5, 6")

      例1: geSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      geSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • ltSql

      public Children ltSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 < ( sql语句 )

      例1: ltSql("id", "1, 2, 3, 4, 5, 6")

      例1: ltSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      ltSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • leSql

      public Children leSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 <= ( sql语句 )

      例1: leSql("id", "1, 2, 3, 4, 5, 6")

      例1: leSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      leSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • eqSql

      public Children eqSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 = ( sql语句 )

      例1: eqSql("id", "1, 2, 3, 4, 5, 6")

      例1: eqSql("id", "select id from table where name = 'JunJun'")

      Specified by:
      eqSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句
      Returns:
      children
    • notInSql

      public Children notInSql(boolean condition, String column, String inValue)
      Description copied from interface: FuncStr
      字段 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")

      Specified by:
      notInSql in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 字段
      inValue - sql语句 ---> 1,2,3,4,5,6 或者 select id from table where id < 3
      Returns:
      children
    • groupBy

      public Children groupBy(boolean condition, String column, String... columns)
      Description copied from interface: FuncStr
      分组:GROUP BY 字段, ...
      Specified by:
      groupBy in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
    • orderBy

      public final Children orderBy(boolean condition, boolean isAsc, String column, String... columns)
      Description copied from interface: FuncStr
      排序:ORDER BY 字段, ...
      Specified by:
      orderBy in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
    • groupBy

      public Children groupBy(boolean condition, String column)
      Description copied from interface: FuncStr
      分组:GROUP BY 字段, ...

      例: groupBy("id")

      Specified by:
      groupBy in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      column - 单个字段
      Returns:
      children
    • groupByStr

      public Children groupByStr(boolean condition, List<String> columns)
      Description copied from interface: FuncStr
      分组:GROUP BY 字段, ...

      例: groupBy(Arrays.asList("id", "name"))

      Specified by:
      groupByStr in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      columns - 字段数组
      Returns:
      children
    • orderBy

      public Children orderBy(boolean condition, boolean isAsc, String column)
      Description copied from interface: FuncStr
      排序:ORDER BY 字段, ...

      例: orderBy(true, "id")

      Specified by:
      orderBy in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      isAsc - 是否是 ASC 排序
      column - 单个字段
      Returns:
      children
    • orderByStr

      public Children orderByStr(boolean condition, boolean isAsc, List<String> columns)
      Description copied from interface: FuncStr
      排序:ORDER BY 字段, ...

      例: orderBy(true, Arrays.asList("id", "name"))

      Specified by:
      orderByStr in interface FuncStr<T,Children extends KtAbstractWrapper<T,Children>>
      Parameters:
      condition - 执行条件
      isAsc - 是否是 ASC 排序
      columns - 字段列表
      Returns:
      children