diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/MPJInterceptorConfig.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/MPJInterceptorConfig.java
index b2853dc..22a510a 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/MPJInterceptorConfig.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/config/MPJInterceptorConfig.java
@@ -30,7 +30,7 @@ public class MPJInterceptorConfig {
System.out.println(" _ _ |_ _ _|_. ___ _ | _ . _ . _ \n" +
"| | |\\/|_)(_| | |_\\ |_)||_|_\\ | (_) | | | \n" +
" / | /\n" +
- " 1.4.7.2");
+ " 1.4.8");
}
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java
index 26e8a25..51f4eb6 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/kt/KtLambdaWrapper.java
@@ -253,7 +253,7 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper union.selectAll(UserDO.class))
*
* @param clazz union语句的主表类型
- * @since 1.4.7.3
+ * @since 1.4.8
*/
public KtLambdaWrapper union(Class clazz, Consumer> consumer) {
KtLambdaWrapper unionWrapper = KtWrappers.query(clazz);
@@ -301,7 +301,7 @@ public class KtLambdaWrapper extends KtAbstractLambdaWrapper union.selectAll(UserDO.class))
*
* @param clazz union语句的主表类型
- * @since 1.4.7.3
+ * @since 1.4.8
*/
public KtLambdaWrapper unionAll(Class clazz, Consumer> consumer) {
KtLambdaWrapper unionWrapper = KtWrappers.query(clazz);
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/FieldStringMap.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/FieldStringMap.java
index 51d6f5a..2d1196a 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/FieldStringMap.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/toolkit/FieldStringMap.java
@@ -6,7 +6,7 @@ import java.util.Locale;
/**
* @author yulichang
* @see HashMap
- * @since 1.4.7.3
+ * @since 1.4.8
*/
public class FieldStringMap extends HashMap {
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJAbstractLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJAbstractLambdaWrapper.java
index 47b7bf8..c0fc4fc 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJAbstractLambdaWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJAbstractLambdaWrapper.java
@@ -219,19 +219,19 @@ public abstract class MPJAbstractLambdaWrapper String columnToString(Integer index, X column, boolean isJoin, PrefixEnum prefixEnum) {
- return columnToString(index, (SFunction, ?>) column, isJoin, prefixEnum);
+ protected String columnToString(Integer index, String alias, X column, boolean isJoin, PrefixEnum prefixEnum) {
+ return columnToString(index, alias, (SFunction, ?>) column, isJoin, prefixEnum);
}
@Override
@SafeVarargs
- protected final String columnsToString(Integer index, boolean isJoin, PrefixEnum prefixEnum, X... columns) {
- return Arrays.stream(columns).map(i -> columnToString(index, (SFunction, ?>) i, isJoin, prefixEnum)).collect(joining(StringPool.COMMA));
+ protected final String columnsToString(Integer index, PrefixEnum prefixEnum, String alias, X... columns) {
+ return Arrays.stream(columns).map(i -> columnToString(index, alias, (SFunction, ?>) i, false, prefixEnum)).collect(joining(StringPool.COMMA));
}
- protected String columnToString(Integer index, SFunction, ?> column, boolean isJoin, PrefixEnum prefixEnum) {
+ protected String columnToString(Integer index, String alias, SFunction, ?> column, boolean isJoin, PrefixEnum prefixEnum) {
Class> entityClass = LambdaUtils.getEntityClass(column);
- return getDefault(index, entityClass, isJoin, prefixEnum) + StringPool.DOT + getCache(column).getColumn();
+ return (alias == null ? getDefault(index, entityClass, isJoin, prefixEnum) : alias) + StringPool.DOT + getCache(column).getColumn();
}
protected SelectCache getCache(SFunction, ?> fn) {
@@ -378,7 +378,7 @@ public abstract class MPJAbstractLambdaWrapper> extends Wrapper
implements Compare, Nested, Join, Func, OnCompare,
CompareStr, FuncStr {
@@ -56,6 +56,7 @@ public abstract class MPJAbstractWrapper paramNameValuePairs;
/**
* 其他
@@ -102,7 +103,7 @@ public abstract class MPJAbstractWrapper Children eq(boolean condition, SFunction column, Object val) {
- return addCondition(condition, column, EQ, val);
+ public Children eq(boolean condition, String alias, SFunction column, Object val) {
+ return addCondition(condition, alias, column, EQ, val);
}
@Override
- public Children ne(boolean condition, SFunction column, Object val) {
- return addCondition(condition, column, NE, val);
+ public Children ne(boolean condition, String alias, SFunction column, Object val) {
+ return addCondition(condition, alias, column, NE, val);
}
@Override
- public Children gt(boolean condition, SFunction column, Object val) {
- return addCondition(condition, column, GT, val);
+ public Children gt(boolean condition, String alias, SFunction column, Object val) {
+ return addCondition(condition, alias, column, GT, val);
}
@Override
- public Children ge(boolean condition, SFunction column, Object val) {
- return addCondition(condition, column, GE, val);
+ public Children ge(boolean condition, String alias, SFunction column, Object val) {
+ return addCondition(condition, alias, column, GE, val);
}
@Override
- public Children lt(boolean condition, SFunction column, Object val) {
- return addCondition(condition, column, LT, val);
+ public Children lt(boolean condition, String alias, SFunction column, Object val) {
+ return addCondition(condition, alias, column, LT, val);
}
@Override
- public Children le(boolean condition, SFunction column, Object val) {
- return addCondition(condition, column, LE, val);
+ public Children le(boolean condition, String alias, SFunction column, Object val) {
+ return addCondition(condition, alias, column, LE, val);
}
@Override
- public Children like(boolean condition, SFunction column, Object val) {
- return likeValue(condition, LIKE, column, val, SqlLike.DEFAULT);
+ public Children like(boolean condition, String alias, SFunction column, Object val) {
+ return likeValue(condition, LIKE, alias, column, val, SqlLike.DEFAULT);
}
@Override
- public Children notLike(boolean condition, SFunction column, Object val) {
- return likeValue(condition, NOT_LIKE, column, val, SqlLike.DEFAULT);
+ public Children notLike(boolean condition, String alias, SFunction column, Object val) {
+ return likeValue(condition, NOT_LIKE, alias, column, val, SqlLike.DEFAULT);
}
@Override
- public Children likeLeft(boolean condition, SFunction column, Object val) {
- return likeValue(condition, LIKE, column, val, SqlLike.LEFT);
+ public Children likeLeft(boolean condition, String alias, SFunction column, Object val) {
+ return likeValue(condition, LIKE, alias, column, val, SqlLike.LEFT);
}
@Override
- public Children likeRight(boolean condition, SFunction column, Object val) {
- return likeValue(condition, LIKE, column, val, SqlLike.RIGHT);
+ public Children likeRight(boolean condition, String alias, SFunction column, Object val) {
+ return likeValue(condition, LIKE, alias, column, val, SqlLike.RIGHT);
}
@Override
- public Children between(boolean condition, SFunction column, Object val1, Object val2) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), BETWEEN,
+ public Children between(boolean condition, String alias, SFunction column, Object val1, Object val2) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), BETWEEN,
() -> formatParam(null, val1), AND, () -> formatParam(null, val2)));
}
@Override
- public Children notBetween(boolean condition, SFunction column, Object val1, Object val2) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), NOT_BETWEEN,
+ public Children notBetween(boolean condition, String alias, SFunction column, Object val1, Object val2) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), NOT_BETWEEN,
() -> formatParam(null, val1), AND, () -> formatParam(null, val2)));
}
@@ -329,89 +330,89 @@ public abstract class MPJAbstractWrapper Children isNull(boolean condition, SFunction column) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), IS_NULL));
+ public Children isNull(boolean condition, String alias, SFunction column) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), IS_NULL));
}
@Override
- public Children isNotNull(boolean condition, SFunction column) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), IS_NOT_NULL));
+ public Children isNotNull(boolean condition, String alias, SFunction column) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), IS_NOT_NULL));
}
@Override
- public Children in(boolean condition, SFunction column, Collection> coll) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), IN, inExpression(coll)));
+ public Children in(boolean condition, String alias, SFunction column, Collection> coll) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), IN, inExpression(coll)));
}
@Override
- public Children in(boolean condition, SFunction column, Object... values) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), IN, inExpression(values)));
+ public Children in(boolean condition, String alias, SFunction column, Object... values) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), IN, inExpression(values)));
}
@Override
- public Children notIn(boolean condition, SFunction column, Collection> coll) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), NOT_IN, inExpression(coll)));
+ public Children notIn(boolean condition, String alias, SFunction column, Collection> coll) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), NOT_IN, inExpression(coll)));
}
@Override
- public Children notIn(boolean condition, SFunction column, Object... values) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), NOT_IN, inExpression(values)));
+ public Children notIn(boolean condition, String alias, SFunction column, Object... values) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), NOT_IN, inExpression(values)));
}
@Override
- public Children inSql(boolean condition, SFunction column, String inValue) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), IN,
+ public Children inSql(boolean condition, String alias, SFunction column, String inValue) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), IN,
() -> String.format("(%s)", inValue)));
}
@Override
- public Children notInSql(boolean condition, SFunction column, String inValue) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), NOT_IN,
+ public Children notInSql(boolean condition, String alias, SFunction column, String inValue) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), NOT_IN,
() -> String.format("(%s)", inValue)));
}
@Override
- public Children gtSql(boolean condition, SFunction column, String inValue) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), GT,
+ public Children gtSql(boolean condition, String alias, SFunction column, String inValue) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), GT,
() -> String.format("(%s)", inValue)));
}
@Override
- public Children geSql(boolean condition, SFunction column, String inValue) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), GE,
+ public Children geSql(boolean condition, String alias, SFunction column, String inValue) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), GE,
() -> String.format("(%s)", inValue)));
}
@Override
- public Children ltSql(boolean condition, SFunction column, String inValue) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), LT,
+ public Children ltSql(boolean condition, String alias, SFunction column, String inValue) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), LT,
() -> String.format("(%s)", inValue)));
}
@Override
- public Children leSql(boolean condition, SFunction column, String inValue) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), LE,
+ public Children leSql(boolean condition, String alias, SFunction column, String inValue) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), LE,
() -> String.format("(%s)", inValue)));
}
@Override
- public Children groupBy(boolean condition, List> columns) {
+ public Children groupBy(boolean condition, String alias, List> columns) {
return maybeDo(condition, () -> {
if (CollectionUtils.isNotEmpty(columns)) {
- String one = (StringPool.COMMA + columnsToString(index, false, isNo ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST, columns));
- final String finalOne = one;
+ final String finalOne = (StringPool.COMMA + columnsToString(index, isOn ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST, alias, columns));
appendSqlSegments(GROUP_BY, () -> finalOne);
}
});
}
+ @SafeVarargs
@Override
- public Children groupBy(boolean condition, SFunction column, SFunction... columns) {
+ public final Children groupBy(boolean condition, String alias, SFunction column, SFunction... columns) {
return maybeDo(condition, () -> {
- String one = columnToString(index, column, false, isNo ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST);
+ String one = columnToString(index, alias, column, false, isOn ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST);
if (ArrayUtils.isNotEmpty(columns)) {
- one += (StringPool.COMMA + columnsToString(index, false, isNo ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST, columns));
+ one += (StringPool.COMMA + columnsToString(index, isOn ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST, alias, columns));
}
final String finalOne = one;
appendSqlSegments(GROUP_BY, () -> finalOne);
@@ -419,35 +420,33 @@ public abstract class MPJAbstractWrapper Children orderByAsc(boolean condition, List> columns) {
+ public Children orderByAsc(boolean condition, String alias, List> columns) {
return maybeDo(condition, () -> {
- final SqlKeyword mode = ASC;
if (CollectionUtils.isNotEmpty(columns)) {
columns.forEach(c -> appendSqlSegments(ORDER_BY,
- columnToSqlSegment(index, columnSqlInjectFilter(c), false), mode));
+ columnToSqlSegment(index, alias, columnSqlInjectFilter(c)), ASC));
}
});
}
@Override
- public Children orderByDesc(boolean condition, List> columns) {
+ public Children orderByDesc(boolean condition, String alias, List> columns) {
return maybeDo(condition, () -> {
- final SqlKeyword mode = DESC;
if (CollectionUtils.isNotEmpty(columns)) {
columns.forEach(c -> appendSqlSegments(ORDER_BY,
- columnToSqlSegment(index, columnSqlInjectFilter(c), false), mode));
+ columnToSqlSegment(index, alias, columnSqlInjectFilter(c)), DESC));
}
});
}
@Override
- public Children orderBy(boolean condition, boolean isAsc, SFunction column, SFunction... columns) {
+ public Children orderBy(boolean condition, boolean isAsc, String alias, SFunction column, SFunction... columns) {
return maybeDo(condition, () -> {
final SqlKeyword mode = isAsc ? ASC : DESC;
- appendSqlSegments(ORDER_BY, columnToSqlSegment(index, column, false), mode);
+ appendSqlSegments(ORDER_BY, columnToSqlSegment(index, alias, column), mode);
if (ArrayUtils.isNotEmpty(columns)) {
Arrays.stream(columns).forEach(c -> appendSqlSegments(ORDER_BY,
- columnToSqlSegment(index, columnSqlInjectFilter(c), false), mode));
+ columnToSqlSegment(index, alias, columnSqlInjectFilter(c)), mode));
}
});
}
@@ -456,7 +455,6 @@ public abstract class MPJAbstractWrapper SFunction columnSqlInjectFilter(SFunction column) {
return column;
@@ -493,8 +491,8 @@ public abstract class MPJAbstractWrapper拼接 LIKE 以及 值
*/
- protected Children likeValue(boolean condition, SqlKeyword keyword, SFunction column, Object val, SqlLike sqlLike) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), keyword,
+ protected Children likeValue(boolean condition, SqlKeyword keyword, String alias, SFunction column, Object val, SqlLike sqlLike) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), keyword,
() -> formatParam(null, SqlUtils.concatLike(val, sqlLike))));
}
@@ -511,18 +509,18 @@ public abstract class MPJAbstractWrapper Children addCondition(boolean condition, SFunction column, SqlKeyword sqlKeyword, Object val) {
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), sqlKeyword,
+ protected Children addCondition(boolean condition, String alias, SFunction column, SqlKeyword sqlKeyword, Object val) {
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), sqlKeyword,
() -> formatParam(null, val)));
}
- protected Children addCondition(boolean condition, SFunction column, SqlKeyword sqlKeyword, SFunction val) {
+ protected Children addCondition(boolean condition, String alias, SFunction column,
+ SqlKeyword sqlKeyword, String rightAlias, SFunction val) {
Class c = LambdaUtils.getEntityClass(column);
Class v = LambdaUtils.getEntityClass(val);
- return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, column, false), sqlKeyword,
- isNo ?
- columnToSqlSegmentS(index, val, v == c && v == joinClass) :
- columnToSqlSegmentS(index, val, v == c)
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(index, alias, column), sqlKeyword,
+ isOn ? columnToSqlSegmentS(index, rightAlias, val, v == c && v == joinClass) :
+ columnToSqlSegmentS(index, rightAlias, val, v == c)
));
}
@@ -563,6 +561,7 @@ public abstract class MPJAbstractWrapper getParamNameValuePairs() {
- return paramNameValuePairs;
- }
-
public String getParamAlias() {
return paramAlias.getStringValue() == null ? Constants.WRAPPER : paramAlias.getStringValue();
}
@@ -698,6 +693,7 @@ public abstract class MPJAbstractWrapper ISqlSegment columnToSqlSegment(Integer index, SFunction column, boolean isJoin) {
- return () -> columnToString(index, column, isJoin, isNo ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST);
+ protected final ISqlSegment columnToSqlSegment(Integer index, String alias, SFunction column) {
+ return () -> columnToString(index, alias, column, false, isOn ? PrefixEnum.ON_FIRST : PrefixEnum.CD_FIRST);
}
- protected final ISqlSegment columnToSqlSegmentS(Integer index, SFunction column, boolean isJoin) {
+ protected final ISqlSegment columnToSqlSegmentS(Integer index, String alias, SFunction column, boolean isJoin) {
PrefixEnum prefixEnum;
if (isMain) {
- prefixEnum = isNo ? PrefixEnum.ON_SECOND /* 理论上不可能有这种情况 */ : PrefixEnum.CD_SECOND;
+ prefixEnum = isOn ? PrefixEnum.ON_SECOND /* 理论上不可能有这种情况 */ : PrefixEnum.CD_SECOND;
} else {
- prefixEnum = isNo ? PrefixEnum.ON_SECOND : PrefixEnum.CD_ON_SECOND;
+ prefixEnum = isOn ? PrefixEnum.ON_SECOND : PrefixEnum.CD_ON_SECOND;
}
- return () -> columnToString(index, column, isJoin, prefixEnum);
+ return () -> columnToString(index, alias, column, isJoin, prefixEnum);
}
- protected final ISqlSegment columnToSqlSegment(String column) {
+ protected final ISqlSegment columnToSqlSegment(String column) {
return () -> columnsToString(column);
}
/**
* 获取 columnName
*/
- protected String columnToString(Integer index, X column, boolean isJoin, PrefixEnum prefixEnum) {
+ protected String columnToString(Integer index, String alias, X column, boolean isJoin, PrefixEnum prefixEnum) {
return (String) column;
}
@@ -753,12 +749,10 @@ public abstract class MPJAbstractWrapper String columnsToString(Integer index, boolean isJoin, PrefixEnum prefixEnum, X... columns) {
- return Arrays.stream(columns).map(i -> this.columnToString(index, i, isJoin, prefixEnum)).collect(joining(StringPool.COMMA));
- }
+ abstract String columnsToString(Integer index, PrefixEnum prefixEnum, String alias, X... columns);
@Override
- @SuppressWarnings("all")
+ @SuppressWarnings("MethodDoesntCallSuperMethod")
public Children clone() {
return SerializationUtils.clone(typedThis);
}
@@ -775,33 +769,33 @@ public abstract class MPJAbstractWrapper Children eq(boolean condition, SFunction column, SFunction val) {
- return addCondition(condition, column, EQ, val);
+ public Children eq(boolean condition, String alias, SFunction column, String rightAlias, SFunction val) {
+ return addCondition(condition, alias, column, EQ, rightAlias, val);
}
@Override
- public Children ne(boolean condition, SFunction column, SFunction val) {
- return addCondition(condition, column, NE, val);
+ public Children ne(boolean condition, String alias, SFunction column, String rightAlias, SFunction val) {
+ return addCondition(condition, alias, column, NE, rightAlias, val);
}
@Override
- public Children gt(boolean condition, SFunction column, SFunction val) {
- return addCondition(condition, column, GT, val);
+ public Children gt(boolean condition, String alias, SFunction column, String rightAlias, SFunction val) {
+ return addCondition(condition, alias, column, GT, rightAlias, val);
}
@Override
- public Children ge(boolean condition, SFunction column, SFunction val) {
- return addCondition(condition, column, GE, val);
+ public Children ge(boolean condition, String alias, SFunction column, String rightAlias, SFunction val) {
+ return addCondition(condition, alias, column, GE, rightAlias, val);
}
@Override
- public Children lt(boolean condition, SFunction column, SFunction val) {
- return addCondition(condition, column, LT, val);
+ public Children lt(boolean condition, String alias, SFunction column, String rightAlias, SFunction val) {
+ return addCondition(condition, alias, column, LT, rightAlias, val);
}
@Override
- public Children le(boolean condition, SFunction column, SFunction val) {
- return addCondition(condition, column, LE, val);
+ public Children le(boolean condition, String alias, SFunction column, String rightAlias, SFunction val) {
+ return addCondition(condition, alias, column, LE, rightAlias, val);
}
/* ****************************************** **/
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java
index 3898ee5..534882c 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/MPJLambdaWrapper.java
@@ -252,7 +252,7 @@ public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper union.selectAll(UserDO.class))
*
* @param clazz union语句的主表类型
- * @since 1.4.7.3
+ * @since 1.4.8
*/
public MPJLambdaWrapper union(Class clazz, Consumer> consumer) {
MPJLambdaWrapper unionWrapper = JoinWrappers.lambda(clazz);
@@ -300,7 +300,7 @@ public class MPJLambdaWrapper extends MPJAbstractLambdaWrapper union.selectAll(UserDO.class))
*
* @param clazz union语句的主表类型
- * @since 1.4.7.3
+ * @since 1.4.8
*/
public MPJLambdaWrapper unionAll(Class clazz, Consumer> consumer) {
MPJLambdaWrapper unionWrapper = JoinWrappers.lambda(clazz);
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Compare.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Compare.java
index 1d3b191..7b76b5a 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Compare.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Compare.java
@@ -14,16 +14,12 @@ import java.util.function.BiPredicate;
@SuppressWarnings("unused")
public interface Compare extends Serializable {
- /**
- * ignore
- */
+
default Children allEq(Map, V> params) {
return allEq(params, true);
}
- /**
- * ignore
- */
+
default Children allEq(Map, V> params, boolean null2IsNull) {
return allEq(true, params, null2IsNull);
}
@@ -38,16 +34,12 @@ public interface Compare extends Serializable {
*/
Children allEq(boolean condition, Map, V> params, boolean null2IsNull);
- /**
- * ignore
- */
+
default Children allEq(BiPredicate, V> filter, Map, V> params) {
return allEq(filter, params, true);
}
- /**
- * ignore
- */
+
default Children allEq(BiPredicate, V> filter, Map, V> params, boolean null2IsNull) {
return allEq(true, filter, params, null2IsNull);
}
@@ -63,12 +55,16 @@ public interface Compare extends Serializable {
*/
Children allEq(boolean condition, BiPredicate, V> filter, Map, V> params, boolean null2IsNull);
- /**
- * ignore
- */
- @SuppressWarnings("UnusedReturnValue")
default Children eq(SFunction column, Object val) {
- return eq(true, column, val);
+ return eq(true, null, column, val);
+ }
+
+ default Children eq(String alias, SFunction column, Object val) {
+ return eq(true, alias, column, val);
+ }
+
+ default Children eq(boolean condition, SFunction column, Object val) {
+ return eq(condition, null, column, val);
}
/**
@@ -79,30 +75,42 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children eq(boolean condition, SFunction column, Object val);
+ Children eq(boolean condition, String alias, SFunction column, Object val);
- /**
- * ignore
- */
default Children ne(SFunction column, Object val) {
- return ne(true, column, val);
+ return ne(true, null, column, val);
+ }
+
+ default Children ne(String alias, SFunction column, Object val) {
+ return ne(true, alias, column, val);
+ }
+
+ default Children ne(boolean condition, SFunction column, Object val) {
+ return ne(condition, null, column, val);
}
/**
* 不等于 <>
*
* @param condition 执行条件
+ * @param alias 字段别名
* @param column 字段
* @param val 值
* @return children
*/
- Children ne(boolean condition, SFunction column, Object val);
+ Children ne(boolean condition, String alias, SFunction column, Object val);
+
- /**
- * ignore
- */
default Children gt(SFunction column, Object val) {
- return gt(true, column, val);
+ return gt(true, null, column, val);
+ }
+
+ default Children gt(String alias, SFunction column, Object val) {
+ return gt(true, alias, column, val);
+ }
+
+ default Children gt(boolean condition, SFunction column, Object val) {
+ return gt(condition, null, column, val);
}
/**
@@ -113,13 +121,18 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children gt(boolean condition, SFunction column, Object val);
+ Children gt(boolean condition, String alias, SFunction column, Object val);
- /**
- * ignore
- */
default Children ge(SFunction column, Object val) {
- return ge(true, column, val);
+ return ge(true, null, column, val);
+ }
+
+ default Children ge(String alias, SFunction column, Object val) {
+ return ge(true, alias, column, val);
+ }
+
+ default Children ge(boolean condition, SFunction column, Object val) {
+ return ge(condition, null, column, val);
}
/**
@@ -130,13 +143,19 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children ge(boolean condition, SFunction column, Object val);
+ Children ge(boolean condition, String alias, SFunction column, Object val);
+
- /**
- * ignore
- */
default Children lt(SFunction column, Object val) {
- return lt(true, column, val);
+ return lt(true, null, column, val);
+ }
+
+ default Children lt(String alias, SFunction column, Object val) {
+ return lt(true, alias, column, val);
+ }
+
+ default Children lt(boolean condition, SFunction column, Object val) {
+ return lt(condition, null, column, val);
}
/**
@@ -147,13 +166,19 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children lt(boolean condition, SFunction column, Object val);
+ Children lt(boolean condition, String alias, SFunction column, Object val);
+
- /**
- * ignore
- */
default Children le(SFunction column, Object val) {
- return le(true, column, val);
+ return le(true, null, column, val);
+ }
+
+ default Children le(String alias, SFunction column, Object val) {
+ return le(true, alias, column, val);
+ }
+
+ default Children le(boolean condition, SFunction column, Object val) {
+ return le(condition, null, column, val);
}
/**
@@ -164,13 +189,19 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children le(boolean condition, SFunction column, Object val);
+ Children le(boolean condition, String alias, SFunction column, Object val);
+
- /**
- * ignore
- */
default Children between(SFunction column, Object val1, Object val2) {
- return between(true, column, val1, val2);
+ return between(true, null, column, val1, val2);
+ }
+
+ default Children between(String alias, SFunction column, Object val1, Object val2) {
+ return between(true, alias, column, val1, val2);
+ }
+
+ default Children between(boolean condition, SFunction column, Object val1, Object val2) {
+ return between(condition, null, column, val1, val2);
}
/**
@@ -182,13 +213,19 @@ public interface Compare extends Serializable {
* @param val2 值2
* @return children
*/
- Children between(boolean condition, SFunction column, Object val1, Object val2);
+ Children between(boolean condition, String alias, SFunction column, Object val1, Object val2);
+
- /**
- * ignore
- */
default Children notBetween(SFunction column, Object val1, Object val2) {
- return notBetween(true, column, val1, val2);
+ return notBetween(true, null, column, val1, val2);
+ }
+
+ default Children notBetween(String alias, SFunction column, Object val1, Object val2) {
+ return notBetween(true, alias, column, val1, val2);
+ }
+
+ default Children notBetween(boolean condition, SFunction column, Object val1, Object val2) {
+ return notBetween(condition, null, column, val1, val2);
}
/**
@@ -200,13 +237,18 @@ public interface Compare extends Serializable {
* @param val2 值2
* @return children
*/
- Children notBetween(boolean condition, SFunction column, Object val1, Object val2);
+ Children notBetween(boolean condition, String alias, SFunction column, Object val1, Object val2);
- /**
- * ignore
- */
default Children like(SFunction column, Object val) {
- return like(true, column, val);
+ return like(true, null, column, val);
+ }
+
+ default Children like(String alias, SFunction column, Object val) {
+ return like(true, alias, column, val);
+ }
+
+ default Children like(boolean condition, SFunction column, Object val) {
+ return like(condition, null, column, val);
}
/**
@@ -217,13 +259,18 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children like(boolean condition, SFunction column, Object val);
+ Children like(boolean condition, String alias, SFunction column, Object val);
- /**
- * ignore
- */
default Children notLike(SFunction column, Object val) {
- return notLike(true, column, val);
+ return notLike(true, null, column, val);
+ }
+
+ default Children notLike(String alias, SFunction column, Object val) {
+ return notLike(true, alias, column, val);
+ }
+
+ default Children notLike(boolean condition, SFunction column, Object val) {
+ return notLike(condition, null, column, val);
}
/**
@@ -234,13 +281,18 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children notLike(boolean condition, SFunction column, Object val);
+ Children notLike(boolean condition, String alias, SFunction column, Object val);
- /**
- * ignore
- */
default Children likeLeft(SFunction column, Object val) {
- return likeLeft(true, column, val);
+ return likeLeft(true, null, column, val);
+ }
+
+ default Children likeLeft(String alias, SFunction column, Object val) {
+ return likeLeft(true, alias, column, val);
+ }
+
+ default Children likeLeft(boolean condition, SFunction column, Object val) {
+ return likeLeft(condition, null, column, val);
}
/**
@@ -251,13 +303,18 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children likeLeft(boolean condition, SFunction column, Object val);
+ Children likeLeft(boolean condition, String alias, SFunction column, Object val);
- /**
- * ignore
- */
default Children likeRight(SFunction column, Object val) {
- return likeRight(true, column, val);
+ return likeRight(true, null, column, val);
+ }
+
+ default Children likeRight(String alias, SFunction column, Object val) {
+ return likeRight(true, alias, column, val);
+ }
+
+ default Children likeRight(boolean condition, SFunction column, Object val) {
+ return likeRight(condition, null, column, val);
}
/**
@@ -268,5 +325,5 @@ public interface Compare extends Serializable {
* @param val 值
* @return children
*/
- Children likeRight(boolean condition, SFunction column, Object val);
+ Children likeRight(boolean condition, String alias, SFunction column, Object val);
}
diff --git a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Func.java b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Func.java
index a167f2b..0e7b114 100644
--- a/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Func.java
+++ b/mybatis-plus-join-core/src/main/java/com/github/yulichang/wrapper/interfaces/Func.java
@@ -12,15 +12,20 @@ import java.util.function.Consumer;
*
* copy {@link com.baomidou.mybatisplus.core.conditions.interfaces.Func}
*/
-@SuppressWarnings({"unchecked", "unused", "JavadocDeclaration"})
+@SuppressWarnings({"unchecked", "unused"})
public interface Func extends Serializable {
- /**
- * ignore
- */
- @SuppressWarnings("UnusedReturnValue")
+
default Children isNull(SFunction column) {
- return isNull(true, column);
+ return isNull(true, null, column);
+ }
+
+ default Children isNull(String alias, SFunction column) {
+ return isNull(true, alias, column);
+ }
+
+ default Children isNull(boolean condition, SFunction column) {
+ return isNull(condition, null, column);
}
/**
@@ -31,13 +36,19 @@ public interface Func extends Serializable {
* @param column 字段
* @return children
*/
- Children isNull(boolean condition, SFunction column);
+ Children isNull(boolean condition, String alias, SFunction column);
+
- /**
- * ignore
- */
default Children isNotNull(SFunction column) {
- return isNotNull(true, column);
+ return isNotNull(true, null, column);
+ }
+
+ default Children isNotNull(String alias, SFunction column) {
+ return isNotNull(true, alias, column);
+ }
+
+ default Children isNotNull(boolean condition, SFunction column) {
+ return isNotNull(condition, null, column);
}
/**
@@ -48,13 +59,19 @@ public interface Func extends Serializable {
* @param column 字段
* @return children
*/
- Children isNotNull(boolean condition, SFunction column);
+ Children isNotNull(boolean condition, String alias, SFunction column);
+
- /**
- * ignore
- */
default