|
@@ -168,22 +168,22 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children like(boolean condition, R column, Object val) {
|
|
public Children like(boolean condition, R column, Object val) {
|
|
- return likeValue(condition, column, val, SqlLike.DEFAULT);
|
|
|
|
|
|
+ return likeValue(condition, LIKE, column, val, SqlLike.DEFAULT);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children notLike(boolean condition, R column, Object val) {
|
|
public Children notLike(boolean condition, R column, Object val) {
|
|
- return not(condition).like(condition, column, val);
|
|
|
|
|
|
+ return likeValue(condition, NOT_LIKE, column, val, SqlLike.DEFAULT);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children likeLeft(boolean condition, R column, Object val) {
|
|
public Children likeLeft(boolean condition, R column, Object val) {
|
|
- return likeValue(condition, column, val, SqlLike.LEFT);
|
|
|
|
|
|
+ return likeValue(condition, LIKE, column, val, SqlLike.LEFT);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children likeRight(boolean condition, R column, Object val) {
|
|
public Children likeRight(boolean condition, R column, Object val) {
|
|
- return likeValue(condition, column, val, SqlLike.RIGHT);
|
|
|
|
|
|
+ return likeValue(condition, LIKE, column, val, SqlLike.RIGHT);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -194,7 +194,8 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children notBetween(boolean condition, R column, Object val1, Object val2) {
|
|
public Children notBetween(boolean condition, R column, Object val1, Object val2) {
|
|
- return not(condition).between(condition, column, val1, val2);
|
|
|
|
|
|
+ return doIt(condition, () -> columnToString(column), NOT_BETWEEN, () -> formatSql("{0}", val1), AND,
|
|
|
|
+ () -> formatSql("{0}", val2));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -212,6 +213,11 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
return addNestedCondition(condition, consumer);
|
|
return addNestedCondition(condition, consumer);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public Children not(boolean condition, Consumer<Children> consumer) {
|
|
|
|
+ return not(condition).addNestedCondition(condition, consumer);
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Children or(boolean condition) {
|
|
public Children or(boolean condition) {
|
|
return doIt(condition, OR);
|
|
return doIt(condition, OR);
|
|
@@ -252,8 +258,8 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Children notExists(boolean condition, String notExistsSql) {
|
|
|
|
- return not(condition).exists(condition, notExistsSql);
|
|
|
|
|
|
+ public Children notExists(boolean condition, String existsSql) {
|
|
|
|
+ return not(condition).exists(condition, existsSql);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -273,7 +279,7 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children notIn(boolean condition, R column, Collection<?> coll) {
|
|
public Children notIn(boolean condition, R column, Collection<?> coll) {
|
|
- return not(condition).in(condition, column, coll);
|
|
|
|
|
|
+ return doIt(condition, () -> columnToString(column), NOT_IN, inExpression(coll));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -283,7 +289,7 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public Children notInSql(boolean condition, R column, String inValue) {
|
|
public Children notInSql(boolean condition, R column, String inValue) {
|
|
- return not(condition).inSql(condition, column, inValue);
|
|
|
|
|
|
+ return doIt(condition, () -> columnToString(column), NOT_IN, () -> String.format("(%s)", inValue));
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -340,8 +346,8 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
|
|
* 内部自用
|
|
* 内部自用
|
|
* <p>拼接 LIKE 以及 值</p>
|
|
* <p>拼接 LIKE 以及 值</p>
|
|
*/
|
|
*/
|
|
- protected Children likeValue(boolean condition, R column, Object val, SqlLike sqlLike) {
|
|
|
|
- return doIt(condition, () -> columnToString(column), LIKE, () -> formatSql("{0}", SqlUtils.concatLike(val, sqlLike)));
|
|
|
|
|
|
+ protected Children likeValue(boolean condition, SqlKeyword keyword, R column, Object val, SqlLike sqlLike) {
|
|
|
|
+ return doIt(condition, () -> columnToString(column), keyword, () -> formatSql("{0}", SqlUtils.concatLike(val, sqlLike)));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|