|
@@ -282,11 +282,21 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
|
return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(column), IN, inExpression(coll)));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Children in(boolean condition, R column, Object... values) {
|
|
|
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(column), IN, inExpression(values)));
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Children notIn(boolean condition, R column, Collection<?> coll) {
|
|
|
return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(column), NOT_IN, inExpression(coll)));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Children notIn(boolean condition, R column, Object... values) {
|
|
|
+ return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(column), NOT_IN, inExpression(values)));
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Children inSql(boolean condition, R column, String inValue) {
|
|
|
return maybeDo(condition, () -> appendSqlSegments(columnToSqlSegment(column), IN,
|
|
@@ -456,6 +466,19 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
|
.collect(joining(StringPool.COMMA, StringPool.LEFT_BRACKET, StringPool.RIGHT_BRACKET));
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取in表达式 包含括号
|
|
|
+ *
|
|
|
+ * @param values 数组
|
|
|
+ */
|
|
|
+ protected ISqlSegment inExpression(Object[] values) {
|
|
|
+ if (ArrayUtils.isEmpty(values)) {
|
|
|
+ return () -> "()";
|
|
|
+ }
|
|
|
+ return () -> Arrays.stream(values).map(i -> formatParam(null, i))
|
|
|
+ .collect(joining(StringPool.COMMA, StringPool.LEFT_BRACKET, StringPool.RIGHT_BRACKET));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 必要的初始化
|
|
|
*/
|