Class MPJLambdaQueryWrapper<T>

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,MPJLambdaQueryWrapper<T>>
com.github.yulichang.query.MPJLambdaQueryWrapper<T>
All Implemented Interfaces:
com.baomidou.mybatisplus.core.conditions.interfaces.Compare<MPJLambdaQueryWrapper<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, com.baomidou.mybatisplus.core.conditions.interfaces.Func<MPJLambdaQueryWrapper<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, com.baomidou.mybatisplus.core.conditions.interfaces.Join<MPJLambdaQueryWrapper<T>>, com.baomidou.mybatisplus.core.conditions.interfaces.Nested<MPJLambdaQueryWrapper<T>,MPJLambdaQueryWrapper<T>>, com.baomidou.mybatisplus.core.conditions.ISqlSegment, com.baomidou.mybatisplus.core.conditions.query.Query<MPJLambdaQueryWrapper<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, MPJBaseJoin<T>, CompareIfExists<MPJLambdaQueryWrapper<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, StringJoin<MPJLambdaQueryWrapper<T>,T>, Serializable

public class MPJLambdaQueryWrapper<T> extends com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper<T,MPJLambdaQueryWrapper<T>> implements com.baomidou.mybatisplus.core.conditions.query.Query<MPJLambdaQueryWrapper<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, StringJoin<MPJLambdaQueryWrapper<T>,T>, CompareIfExists<MPJLambdaQueryWrapper<T>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
MPJLambdaQueryWrapper 参考 -> LambdaQueryWrapper
Author:
yulichang
See Also:
  • Constructor Details

    • MPJLambdaQueryWrapper

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

    • select

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

      public MPJLambdaQueryWrapper<T> select(boolean condition, List<com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>> columns)
      Specified by:
      select in interface com.baomidou.mybatisplus.core.conditions.query.Query<MPJLambdaQueryWrapper<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
    • selectIgnore

      public MPJLambdaQueryWrapper<T> selectIgnore(String... columns)
      忽略查询字段

      用法: selectIgnore("t.id","t.sex","a.area")

      Since:
      1.1.3
    • selectIgnore

      @SafeVarargs public final MPJLambdaQueryWrapper<T> selectIgnore(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns)
      忽略查询字段

      用法: selectIgnore("t.id","t.sex","a.area")

      Since:
      1.1.3
    • columnToString

      protected String columnToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, boolean onlyColumn)
      Overrides:
      columnToString in class com.baomidou.mybatisplus.core.conditions.AbstractLambdaWrapper<T,MPJLambdaQueryWrapper<T>>
    • select

      public MPJLambdaQueryWrapper<T> select(String... columns)
    • select

      public MPJLambdaQueryWrapper<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<MPJLambdaQueryWrapper<T>,T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>
      Parameters:
      predicate - 过滤方式
      Returns:
      this
    • selectAll

      public final MPJLambdaQueryWrapper<T> selectAll(Class<T> clazz)
      查询主表全部字段
      Parameters:
      clazz - 主表class
    • selectAll

      public final MPJLambdaQueryWrapper<T> selectAll(Class<?> clazz, String as)
      查询表全部字段
      Parameters:
      clazz - 表实体
      as - 表别名
    • stringQuery

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

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

      public MPJLambdaQueryWrapper<T> distinct()
      sql去重 select distinct
    • getFrom

      public String getFrom()
    • setAlias

      public MPJLambdaQueryWrapper<T> setAlias(String alias)
    • getSubLogicSql

      public String getSubLogicSql()
      逻辑删除
    • disableLogicDel

      public MPJLambdaQueryWrapper<T> disableLogicDel()
      关闭主表逻辑删除
    • enableLogicDel

      public MPJLambdaQueryWrapper<T> enableLogicDel()
      启用主表逻辑删除
    • getLogicSql

      public boolean getLogicSql()
      逻辑删除
    • getSelectDistinct

      public boolean getSelectDistinct()
    • setTableName

      public MPJLambdaQueryWrapper<T> setTableName(Function<String,String> func)
      动态表名

      如果主表需要动态表名

    • getTableName

      public String getTableName(String tableName)
    • getTableNameEnc

      public String getTableNameEnc(String tableName)
    • setIfExists

    • setIfExists

      public MPJLambdaQueryWrapper<T> setIfExists(Predicate<Object> IfExists)
    • instance

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

      故 sqlSelect selectColumn ignoreColumns from不向下传递

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

      public Class<T> getEntityClass()
      Overrides:
      getEntityClass in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,MPJLambdaQueryWrapper<T>>
    • setEntityClass

      public MPJLambdaQueryWrapper<T> setEntityClass(Class<T> entityClass)
      Overrides:
      setEntityClass in class com.baomidou.mybatisplus.core.conditions.AbstractWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,MPJLambdaQueryWrapper<T>>
    • getSqlFirstField

      public com.baomidou.mybatisplus.core.conditions.SharedString getSqlFirstField()
    • clear

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

      public MPJLambdaQueryWrapper<T> join(String keyWord, boolean condition, String joinSql, Object... args)
      Specified by:
      join in interface StringJoin<MPJLambdaQueryWrapper<T>,T>
    • mpjFormatSqlMaybeWithParam

      protected final String mpjFormatSqlMaybeWithParam(String sqlStr, Object... params)