java.lang.Object
com.baomidou.mybatisplus.core.conditions.Wrapper<T>
com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,Children>
com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper<T,LbQueryWrap<T>>
top.tangyh.basic.database.mybatis.conditions.query.LbQueryWrap<T>
Type Parameters:
T - 实体类型
All Implemented Interfaces:
com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, com.baomidou.mybatisplus.core.conditions.interfaces.Func<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, com.baomidou.mybatisplus.core.conditions.interfaces.Join<LbQueryWrap<T>>, com.baomidou.mybatisplus.core.conditions.interfaces.Nested<LbQueryWrap<T>,LbQueryWrap<T>>, com.baomidou.mybatisplus.core.conditions.ISqlSegment, com.baomidou.mybatisplus.core.conditions.query.Query<LbQueryWrap<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, Serializable

public class LbQueryWrap<T> extends com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper<T,LbQueryWrap<T>> implements com.baomidou.mybatisplus.core.conditions.query.Query<LbQueryWrap<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
类似 LambdaQueryWrapper 的增强 Wrapper

相比 LambdaQueryWrapper 的增强如下:

%

where name like '%\%%' where name like '%\_%'

1,new LbQueryWrap(T entity)时, 对entity 中的string字段 %和_ 符号进行转义,便于模糊查询 2,对like方法的参数 %和_ 符号进行转义,便于模糊查询 3,对nested、eq、ne、gt、ge、lt、le、in、like 等方法 进行条件判断,null 或 "" 字段不加入查询 4,增加 leFooter 方法, 将日期参数值,强制转换成当天 23:59:59 5,增加 geHeader 方法, 将日期参数值,强制转换成当天 00:00:00

Since:
Created on 2019/5/27 17:11
Author:
zuihou, hubin miemie HCL
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.baomidou.mybatisplus.core.conditions.AbstractWrapper

    com.baomidou.mybatisplus.core.conditions.AbstractWrapper.DoSomething
  • Field Summary

    Fields inherited from class com.baomidou.mybatisplus.core.conditions.AbstractWrapper

    expression, lastSql, paramAlias, paramNameSeq, paramNameValuePairs, sqlComment, sqlFirst, typedThis
  • Constructor Summary

    Constructors
    Constructor
    Description
    不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
    LbQueryWrap(Class<T> entityClass)
    不建议直接 new 该实例,使用 Wraps.lbQ(entity)
    LbQueryWrap(T entity)
    不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
  • Method Summary

    Modifier and Type
    Method
    Description
    取消跳过空的字符串
    void
     
    eq(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    ge(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    geHeader(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDate val)
     
    geHeader(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDateTime val)
     
     
    gt(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    ignore(BiFunction<T,A,?> setColumn)
    忽略实体(entity)中的某些字段,实体中的字段默认是会除了null以外的全部进行等值匹配 再次可以进行忽略
    in(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object... values)
     
    in(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Collection<?> coll)
     
    protected LbQueryWrap<T>
    用于生成嵌套 sql
    le(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    leFooter(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDate val)
     
    leFooter(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDateTime val)
     
    like(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    likeLeft(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    likeRight(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    lt(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
    ne(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
     
     
    notLike(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
    忽略实体中的某些字段,实体中的字段默认是会除了null以外的全部进行等值匹配 再次可以进行忽略
    final LbQueryWrap<T>
    select(boolean condition, List<com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>> columns)
    SELECT 部分 SQL 设置
    select(Class<T> entityClass, Predicate<com.baomidou.mybatisplus.core.metadata.TableFieldInfo> predicate)
    过滤查询的字段信息(主键除外!)

    Methods inherited from class com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper

    columnsToString, columnsToString, columnsToString, columnToString, columnToString, getColumnCache, groupBy, groupBy, groupBy, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc

    Methods inherited from class com.baomidou.mybatisplus.core.conditions.AbstractWrapper

    addCondition, addNestedCondition, allEq, allEq, and, and, appendSqlSegments, apply, between, clone, columnsToString, columnToSqlSegment, comment, doGroupBy, doOrderBy, eq, eqSql, exists, first, formatParam, formatSqlMaybeWithParam, func, ge, geSql, getEntity, getEntityClass, getExpression, getParamAlias, getParamNameValuePairs, getSqlComment, getSqlFirst, getSqlSegment, groupBy, groupBy, gt, gtSql, having, in, in, inExpression, inExpression, initNeed, inSql, isNotNull, isNull, isUseAnnotationOrderBy, last, le, leSql, like, likeLeft, likeRight, likeValue, lt, ltSql, maybeDo, ne, nested, not, not, notBetween, notExists, notIn, notIn, notInSql, notLike, notLikeLeft, notLikeRight, or, or, orderBy, orderBy, orderBy, setEntity, setEntityClass, setParamAlias

    Methods inherited from class com.baomidou.mybatisplus.core.conditions.Wrapper

    getCustomSqlSegment, getSqlSet, getTargetSql, isEmptyOfEntity, isEmptyOfNormal, isEmptyOfWhere, isNonEmptyOfEntity, isNonEmptyOfNormal, isNonEmptyOfWhere, nonEmptyOfEntity, nonEmptyOfNormal, nonEmptyOfWhere

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare

    allEq, allEq, allEq, allEq, between, notBetween, notLikeLeft, notLikeRight

    Methods inherited from interface com.baomidou.mybatisplus.core.conditions.interfaces.Func

    eqSql, func, geSql, groupBy, groupBy, gtSql, having, inSql, isNotNull, isNull, leSql, ltSql, notIn, notIn, notInSql, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByDesc, orderByDesc, orderByDesc, orderByDesc, orderByDesc

    Methods inherited from interface com.baomidou.mybatisplus.core.conditions.interfaces.Join

    apply, comment, exists, first, last, notExists, or

    Methods inherited from interface com.baomidou.mybatisplus.core.conditions.interfaces.Nested

    and, not, or

    Methods inherited from interface com.baomidou.mybatisplus.core.conditions.query.Query

    select, select, select, select
  • Constructor Details

    • LbQueryWrap

      public LbQueryWrap()
      不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
    • LbQueryWrap

      public LbQueryWrap(T entity)
      不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
    • LbQueryWrap

      public LbQueryWrap(Class<T> entityClass)
      不建议直接 new 该实例,使用 Wraps.lbQ(entity)
  • Method Details

    • select

      public final LbQueryWrap<T> select(boolean condition, List<com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>> columns)
      SELECT 部分 SQL 设置
      Specified by:
      select in interface com.baomidou.mybatisplus.core.conditions.query.Query<LbQueryWrap<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
      Parameters:
      columns - 查询字段
    • select

      public LbQueryWrap<T> select(Class<T> entityClass, Predicate<com.baomidou.mybatisplus.core.metadata.TableFieldInfo> predicate)
      过滤查询的字段信息(主键除外!)

      例1: 只要 java 字段名以 "test" 开头的 -> select(i -> i.getProperty().startsWith("test"))

      例2: 只要 java 字段属性是 CharSequence 类型的 -> select(TableFieldInfo::isCharSequence)

      例3: 只要 java 字段没有填充策略的 -> select(i -> i.getFieldFill() == FieldFill.DEFAULT)

      例4: 要全部字段 -> select(i -> true)

      例5: 只要主键字段 -> select(i -> false)

      Specified by:
      select in interface com.baomidou.mybatisplus.core.conditions.query.Query<LbQueryWrap<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
      Parameters:
      predicate - 过滤方式
      Returns:
      this
    • getSqlSelect

      public String getSqlSelect()
      Specified by:
      getSqlSelect in interface com.baomidou.mybatisplus.core.conditions.query.Query<LbQueryWrap<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
      Overrides:
      getSqlSelect in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • instance

      protected LbQueryWrap<T> instance()
      用于生成嵌套 sql

      故 sqlSelect 不向下传递

      Specified by:
      instance in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,LbQueryWrap<T>>
    • clear

      public void clear()
      Overrides:
      clear in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,LbQueryWrap<T>>
    • nested

      public LbQueryWrap<T> nested(Consumer<LbQueryWrap<T>> consumer)
      Specified by:
      nested in interface com.baomidou.mybatisplus.core.conditions.interfaces.Nested<LbQueryWrap<T>,LbQueryWrap<T>>
    • eq

      public LbQueryWrap<T> eq(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      eq in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • ne

      public LbQueryWrap<T> ne(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      ne in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • gt

      public LbQueryWrap<T> gt(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      gt in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • ge

      public LbQueryWrap<T> ge(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      ge in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • geHeader

      public LbQueryWrap<T> geHeader(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDateTime val)
    • geHeader

      public LbQueryWrap<T> geHeader(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDate val)
    • lt

      public LbQueryWrap<T> lt(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      lt in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • le

      public LbQueryWrap<T> le(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      le in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • leFooter

      public LbQueryWrap<T> leFooter(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDateTime val)
    • leFooter

      public LbQueryWrap<T> leFooter(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, LocalDate val)
    • in

      public LbQueryWrap<T> in(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Collection<?> coll)
      Specified by:
      in in interface com.baomidou.mybatisplus.core.conditions.interfaces.Func<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • in

      public LbQueryWrap<T> in(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object... values)
      Specified by:
      in in interface com.baomidou.mybatisplus.core.conditions.interfaces.Func<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • like

      public LbQueryWrap<T> like(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      like in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • likeLeft

      public LbQueryWrap<T> likeLeft(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      likeLeft in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • likeRight

      public LbQueryWrap<T> likeRight(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      Specified by:
      likeRight in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • notLike

      public LbQueryWrap<T> notLike(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, Object val)
      忽略实体中的某些字段,实体中的字段默认是会除了null以外的全部进行等值匹配 再次可以进行忽略
      Specified by:
      notLike in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<LbQueryWrap<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
      Parameters:
      column - 这个是传入的待忽略字段的set方法
      val - 值
    • cancelSkipEmpty

      public LbQueryWrap<T> cancelSkipEmpty()
      取消跳过空的字符串
    • ignore

      public <A> LbQueryWrap<T> ignore(BiFunction<T,A,?> setColumn)
      忽略实体(entity)中的某些字段,实体中的字段默认是会除了null以外的全部进行等值匹配 再次可以进行忽略
      Parameters:
      setColumn - 这个是传入的待忽略字段的set方法