public abstract class SupportJoinLambdaWrapper<T,Children extends SupportJoinLambdaWrapper<T,Children>> extends SupportJoinWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,Children> implements JoinOrderFunc<Children,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>, JoinCompareFun<Children,T>
LambdaQueryWrapper,
序列化表格| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<Class<?>,String> |
aliasMap |
private Map<Class<?>,Map<String,com.baomidou.mybatisplus.core.toolkit.support.ColumnCache>> |
columnMap |
private boolean |
initColumnMap |
protected List<OrderByBuild> |
orderByBuildList
排序构建列表
|
protected List<com.baomidou.mybatisplus.core.conditions.SharedString> |
sunQueryList
子查询列表
|
customAliasMap, fieldMappingList, hasDistinct, joinSql, manyToManySelectBuildList, masterLogicDelete, masterTableAlias, notDefaultSelectAll, oneToOneSelectBuildList, sqlSelect| 构造器和说明 |
|---|
SupportJoinLambdaWrapper() |
| 限定符和类型 | 方法和说明 |
|---|---|
protected <J> Children |
addCondition(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.enums.SqlKeyword sqlKeyword,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
普通查询条件
|
private String |
appendAliasIfNeeded(String column,
String alias)
如果需要,添加别名
|
<J,J2> Children |
between(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val1,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J2,Object> val2)
BETWEEN 值1 AND 值2
|
Children |
changeQueryWrapper(com.baomidou.mybatisplus.core.conditions.AbstractWrapper queryWrapper)
转换查询Wrapper 会把 查询条件,group,order by,having转换来
注意该方法无法给 多个入参添加别名,例如 orderByDesc("id","id2")
这种别名就会添加错误
|
protected List<String> |
columnsToString(boolean onlyColumn,
boolean saveType,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns) |
protected String |
columnsToString(boolean onlyColumn,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns) |
protected String |
columnsToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns) |
protected String |
columnToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<?,?> column,
boolean onlyColumn,
boolean saveType) |
protected String |
columnToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column) |
protected String |
columnToStringNoAlias(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column,
boolean saveType) |
<J> Children |
eq(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
等于 =
|
<J> Children |
ge(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
大于等于 >=
|
protected String |
getAlias() |
protected String |
getAlias(Class<?> clz)
获取类别名
|
protected String |
getAliasAndField(Class<?> fieldClass,
String fieldName) |
protected String |
getAliasAndField(String fieldName)
获取 增加别名后的字段
|
protected String |
getColumn(com.baomidou.mybatisplus.core.toolkit.support.LambdaMeta lambda,
boolean onlyColumn,
boolean saveField)
获取 SerializedLambda 对应的列信息,从 lambda 表达式中推测实体类
如果获取不到列信息,那么本次条件组装将会失败
|
private Map<String,com.baomidou.mybatisplus.core.toolkit.support.ColumnCache> |
getColumnMap(Class<?> entityClass)
获取列映射
|
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> |
getConditionR(Class<?> entityClass,
Field field)
只为避开类型检查
|
protected Class<?> |
getEntityOrMasterClass()
获取实体并关联的
|
protected List<String> |
getSelectColumn(List<As<T>> columns)
获取查询列
|
protected Class<?> |
getTableClass(Class<?> clz)
获取表对应的class 主要用于 vo dto这种对应实体
|
<J> Children |
gt(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
大于 >
|
private void |
initColumnMapIfNeeded(Class<?> entityClass)
初始化列映射缓存
|
protected void |
initNeed() |
<J> Children |
le(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
小于等于 <=
|
<J> Children |
lt(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
小于 <
|
<J> Children |
ne(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
不等于 <>
|
<J,J2> Children |
notBetween(boolean condition,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val1,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J2,Object> val2)
NOT BETWEEN 值1 AND 值2
|
Children |
orderBy(boolean condition,
boolean isAsc,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column,
int index)
根据index下标进行排列排序顺序
|
Children |
orderBySql(boolean condition,
String sql,
int index)
手写排序SQL
|
private String |
processColumnAs(As<T> as)
处理单个查询字段和别名
|
private String |
processColumnWithLambda(As<T> as)
处理带Lambda表达式的列
|
private String |
processColumnWithoutLambda(As<T> as)
处理不带Lambda表达式的列
|
Children |
selectAll()
获取当前类的所有查询字段
|
Children |
selectAll(Collection<com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>> excludeColumn)
获取当前类所有查询字段 并增加排除
|
Children |
selectAs(java.util.function.Consumer<ColumnsBuilder<T>> consumer)
使用匿名函数方式更方便
|
protected Children |
selectAs(List<String> columns)
查询并设置别名
|
<J> Children |
selectAs(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column,
com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,?> alias) |
Children |
selectAs(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column,
String alias) |
<J> Children |
selectSunQuery(boolean condition,
Class<J> clz,
java.util.function.Consumer<JoinLambdaWrapper<J>> wrapper) |
<J> Children |
selectSunQuery(Class<J> clz,
java.util.function.Consumer<JoinLambdaWrapper<J>> wrapper) |
protected Children |
setAlias(String alias)
存入自定义别名
|
addObjConditions, addObjConditions, distinct, executeQuery, getAliasAndField, getFuncKeyWord, getJoinSql, getTableFieldInfoByFieldName, getTableFieldInfoByFieldName, masterLogicDelete, readWrapperInfo, setFieldMappingList, setFuncKeyWordaddCondition, addNestedCondition, allEq, allEq, and, and, appendSqlSegments, apply, between, clear, clone, columnSqlInjectFilter, columnsToString, columnToSqlSegment, comment, eq, exists, first, formatParam, formatSqlMaybeWithParam, func, ge, geSql, getEntity, getEntityClass, getExpression, getParamAlias, getParamNameValuePairs, getSqlComment, getSqlFirst, getSqlSegment, groupBy, groupBy, groupBy, gt, gtSql, having, in, in, inExpression, inExpression, inSql, instance, 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, setParamAliasgetCustomSqlSegment, getSqlSelect, getSqlSet, getTargetSql, isEmptyOfEntity, isEmptyOfNormal, isEmptyOfWhere, nonEmptyOfEntity, nonEmptyOfNormal, nonEmptyOfWhereequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitorderByAsc, orderByAsc, orderByDesc, orderByDesc, orderBySqlbetween, eq, ge, gt, le, lt, ne, notBetweenbetweenIfNull, eqIfNull, geIfNull, gtIfNull, leIfNull, likeIfNull, likeLeftIfNull, likeRightIfNull, ltIfNull, neIfNull, notBetweenIfNull, notLikeIfNull, notLikeLeftIfNull, notLikeRightIfNullallEq, allEq, allEq, allEq, allEq, allEq, between, between, eq, eq, ge, ge, gt, gt, le, le, like, like, likeLeft, likeLeft, likeRight, likeRight, lt, lt, ne, ne, notBetween, notBetween, notLike, notLike, notLikeLeft, notLikeLeft, notLikeRight, notLikeRightapply, comment, exists, first, last, notExists, orfunc, geSql, groupBy, groupBy, groupBy, gtSql, having, in, in, inSql, isNotNull, isNull, leSql, ltSql, notIn, notIn, notInSql, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByAsc, orderByDesc, orderByDesc, orderByDesc, orderByDesc, orderByDesc, orderByDescprotected List<com.baomidou.mybatisplus.core.conditions.SharedString> sunQueryList
protected List<OrderByBuild> orderByBuildList
private Map<Class<?>,Map<String,com.baomidou.mybatisplus.core.toolkit.support.ColumnCache>> columnMap
private boolean initColumnMap
protected String columnsToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns)
protected String columnsToString(boolean onlyColumn, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns)
protected List<String> columnsToString(boolean onlyColumn, boolean saveType, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>... columns)
protected String columnToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column)
protected String columnToStringNoAlias(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, boolean saveType)
protected String columnToString(com.baomidou.mybatisplus.core.toolkit.support.SFunction<?,?> column, boolean onlyColumn, boolean saveType)
public com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> getConditionR(Class<?> entityClass, Field field)
SupportJoinWrappergetConditionR 在类中 SupportJoinWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,Children extends SupportJoinLambdaWrapper<T,Children>>public Children selectAll()
public Children orderBy(boolean condition, boolean isAsc, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, int index)
JoinOrderFuncorderBy 在接口中 JoinOrderFunc<Children extends SupportJoinLambdaWrapper<T,Children>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>condition - 是否执行isAsc - 是否正序column - 列index - 下标public Children orderBySql(boolean condition, String sql, int index)
JoinOrderFuncorderBySql 在接口中 JoinOrderFunc<Children extends SupportJoinLambdaWrapper<T,Children>,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>>condition - 是否执行sql - SQLpublic <J> Children selectSunQuery(boolean condition, Class<J> clz, java.util.function.Consumer<JoinLambdaWrapper<J>> wrapper)
public <J> Children selectSunQuery(Class<J> clz, java.util.function.Consumer<JoinLambdaWrapper<J>> wrapper)
public Children selectAll(Collection<com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>> excludeColumn)
excludeColumn - 需要排除的字段public <J> Children eq(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
JoinCompareFuneq 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val - 值public <J> Children ne(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
JoinCompareFunne 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val - 值public <J> Children gt(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
JoinCompareFungt 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val - 值public <J> Children ge(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
JoinCompareFunge 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val - 值public <J> Children lt(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
JoinCompareFunlt 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val - 值public <J> Children le(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
JoinCompareFunle 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val - 值public <J,J2> Children between(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val1, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J2,Object> val2)
JoinCompareFunbetween 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val1 - 值1val2 - 值2public <J,J2> Children notBetween(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val1, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J2,Object> val2)
JoinCompareFunnotBetween 在接口中 JoinCompareFun<Children extends SupportJoinLambdaWrapper<T,Children>,T>condition - 执行条件column - 字段val1 - 值1val2 - 值2public Children changeQueryWrapper(com.baomidou.mybatisplus.core.conditions.AbstractWrapper queryWrapper)
queryWrapper - protected <J> Children addCondition(boolean condition, com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,Object> column, com.baomidou.mybatisplus.core.enums.SqlKeyword sqlKeyword, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,Object> val)
condition - 是否执行column - 属性sqlKeyword - SQL 关键词val - 条件值protected String getAlias()
protected String getAliasAndField(String fieldName)
fieldName - 字段public Children selectAs(java.util.function.Consumer<ColumnsBuilder<T>> consumer)
consumer - 消费函数public Children selectAs(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, String alias)
public <J> Children selectAs(com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?> column, com.baomidou.mybatisplus.core.toolkit.support.SFunction<J,?> alias)
protected List<String> getSelectColumn(List<As<T>> columns)
columns - 列集合protected String getColumn(com.baomidou.mybatisplus.core.toolkit.support.LambdaMeta lambda, boolean onlyColumn, boolean saveField)
如果获取不到列信息,那么本次条件组装将会失败
lambda - lambda 表达式onlyColumn - 如果是,结果: "name", 如果否: "name" as "name"saveField - 是否保存到字段列表com.baomidou.mybatisplus.core.exceptions.MybatisPlusException - 获取不到列信息时抛出异常SerializedLambda.getImplMethodName()private void initColumnMapIfNeeded(Class<?> entityClass)
private Map<String,com.baomidou.mybatisplus.core.toolkit.support.ColumnCache> getColumnMap(Class<?> entityClass)
protected Class<?> getTableClass(Class<?> clz)
getTableClass 在类中 SupportJoinWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,Children extends SupportJoinLambdaWrapper<T,Children>>clz - 类protected Class<?> getEntityOrMasterClass()
getEntityOrMasterClass 在类中 SupportJoinWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,Children extends SupportJoinLambdaWrapper<T,Children>>protected void initNeed()
initNeed 在类中 SupportJoinWrapper<T,com.baomidou.mybatisplus.core.toolkit.support.SFunction<T,?>,Children extends SupportJoinLambdaWrapper<T,Children>>Copyright © 2025. All rights reserved.