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

public class QueryWrap<T> extends com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,String,QueryWrap<T>> implements com.baomidou.mybatisplus.core.conditions.query.Query<QueryWrap<T>,T,String>
Entity 对象封装操作类

相比 QueryWrapper 的增强如下: 1,new QueryWrapper(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:
2018-05-25
Author:
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
     
    QueryWrap(Class<T> entityClass)
     
    QueryWrap(T entity)
     
    QueryWrap(T entity, String... columns)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    between(String column, Object val1, Object val2)
     
    取消跳过空的字符串 不允许跳过空的字符串
    开启检查 SQL 注入
    void
     
    protected String
     
    eq(String column, Object val)
     
    ge(String column, Object val)
     
    geHeader(String column, LocalDate val)
     
     
     
    gt(String column, Object val)
     
    <A> QueryWrap<T>
    ignore(BiFunction<T,A,?> setColumn)
    忽略实体中的某些字段,实体中的字段默认是会除了null以外的全部进行等值匹配 再次可以进行忽略
    in(String column, Object... values)
     
    in(String column, Collection<?> coll)
     
    protected QueryWrap<T>
    用于生成嵌套 sql
    返回一个支持 lambda 函数写法的 wrapper
    le(String column, Object val)
     
    leFooter(String column, LocalDate val)
     
     
    like(String column, Object val)
     
    likeLeft(String column, Object val)
     
    likeRight(String column, Object val)
     
    lt(String column, Object val)
     
    ne(String column, Object val)
     
    nested(Consumer<QueryWrap<T>> consumer)
     
    notBetween(String column, Object val1, Object val2)
     
    notLike(String column, Object val)
     
    select(boolean condition, List<String> columns)
     
    select(Class<T> entityClass, Predicate<com.baomidou.mybatisplus.core.metadata.TableFieldInfo> predicate)
     

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

    addCondition, addNestedCondition, allEq, allEq, and, and, appendSqlSegments, apply, between, clone, columnsToString, columnsToString, columnToSqlSegment, comment, doGroupBy, doOrderBy, eq, eqSql, exists, first, formatParam, formatSqlMaybeWithParam, func, ge, geSql, getEntity, getEntityClass, getExpression, getParamAlias, getParamNameValuePairs, getSqlComment, getSqlFirst, getSqlSegment, groupBy, groupBy, 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, 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, notLikeLeft, notLikeRight

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

    eqSql, func, geSql, groupBy, groupBy, groupBy, gtSql, having, inSql, isNotNull, isNull, leSql, ltSql, notIn, notIn, notInSql, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByDesc, orderByDesc, 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

    • QueryWrap

      public QueryWrap(T entity)
    • QueryWrap

      public QueryWrap()
    • QueryWrap

      public QueryWrap(T entity, String... columns)
    • QueryWrap

      public QueryWrap(Class<T> entityClass)
  • Method Details

    • checkSqlInjection

      public QueryWrap<T> checkSqlInjection()
      开启检查 SQL 注入
    • columnToString

      protected String columnToString(String column)
      Overrides:
      columnToString in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,String,QueryWrap<T>>
    • select

      public QueryWrap<T> select(boolean condition, List<String> columns)
      Specified by:
      select in interface com.baomidou.mybatisplus.core.conditions.query.Query<QueryWrap<T>,T,String>
    • select

      public QueryWrap<T> select(Class<T> entityClass, Predicate<com.baomidou.mybatisplus.core.metadata.TableFieldInfo> predicate)
      Specified by:
      select in interface com.baomidou.mybatisplus.core.conditions.query.Query<QueryWrap<T>,T,String>
    • getSqlSelect

      public String getSqlSelect()
      Specified by:
      getSqlSelect in interface com.baomidou.mybatisplus.core.conditions.query.Query<QueryWrap<T>,T,String>
      Overrides:
      getSqlSelect in class com.baomidou.mybatisplus.core.conditions.Wrapper<T>
    • lambda

      public LbQueryWrap<T> lambda()
      返回一个支持 lambda 函数写法的 wrapper
    • instance

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

      故 sqlSelect 不向下传递

      Specified by:
      instance in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,String,QueryWrap<T>>
    • clear

      public void clear()
      Overrides:
      clear in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,String,QueryWrap<T>>
    • nested

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

      public QueryWrap<T> eq(String column, Object val)
      Specified by:
      eq in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • ne

      public QueryWrap<T> ne(String column, Object val)
      Specified by:
      ne in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • gt

      public QueryWrap<T> gt(String column, Object val)
      Specified by:
      gt in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • ge

      public QueryWrap<T> ge(String column, Object val)
      Specified by:
      ge in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • geHeader

      public QueryWrap<T> geHeader(String column, LocalDateTime val)
    • geHeader

      public QueryWrap<T> geHeader(String column, LocalDate val)
    • lt

      public QueryWrap<T> lt(String column, Object val)
      Specified by:
      lt in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • le

      public QueryWrap<T> le(String column, Object val)
      Specified by:
      le in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • leFooter

      public QueryWrap<T> leFooter(String column, LocalDateTime val)
    • leFooter

      public QueryWrap<T> leFooter(String column, LocalDate val)
    • between

      public QueryWrap<T> between(String column, Object val1, Object val2)
      Specified by:
      between in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • notBetween

      public QueryWrap<T> notBetween(String column, Object val1, Object val2)
      Specified by:
      notBetween in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • like

      public QueryWrap<T> like(String column, Object val)
      Specified by:
      like in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • notLike

      public QueryWrap<T> notLike(String column, Object val)
      Specified by:
      notLike in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • likeLeft

      public QueryWrap<T> likeLeft(String column, Object val)
      Specified by:
      likeLeft in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • likeRight

      public QueryWrap<T> likeRight(String column, Object val)
      Specified by:
      likeRight in interface com.baomidou.mybatisplus.core.conditions.interfaces.Compare<QueryWrap<T>,String>
    • in

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

      public QueryWrap<T> in(String column, Object... values)
      Specified by:
      in in interface com.baomidou.mybatisplus.core.conditions.interfaces.Func<QueryWrap<T>,String>
    • cancelSkipEmpty

      public QueryWrap<T> cancelSkipEmpty()
      取消跳过空的字符串 不允许跳过空的字符串
      Returns:
      自己
    • ignore

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