|
@@ -15,42 +15,18 @@
|
|
|
*/
|
|
|
package com.baomidou.mybatisplus.core.conditions;
|
|
|
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.AND;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.ASC;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.BETWEEN;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.DESC;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.EQ;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.EXISTS;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.GE;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.GROUP_BY;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.GT;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.HAVING;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.IN;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.IS_NOT_NULL;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.IS_NULL;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.LE;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.LIKE;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.LT;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.NE;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.NOT;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.OR;
|
|
|
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.ORDER_BY;
|
|
|
-
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Collection;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.concurrent.atomic.AtomicInteger;
|
|
|
-import java.util.function.Function;
|
|
|
-import java.util.stream.Collectors;
|
|
|
-
|
|
|
import com.baomidou.mybatisplus.core.enums.SqlKeyword;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
|
|
|
+import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
+import java.util.function.Function;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static com.baomidou.mybatisplus.core.enums.SqlKeyword.*;
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -72,13 +48,12 @@ public abstract class AbstractWrapper<T, R, This extends AbstractWrapper<T, R, T
|
|
|
protected AtomicInteger paramNameSeq;
|
|
|
protected Map<String, Object> paramNameValuePairs;
|
|
|
protected String paramAlias = null;
|
|
|
- private List<ISqlSegment> expression = new ArrayList<>();
|
|
|
- private boolean didOrderBy = false;
|
|
|
-
|
|
|
/**
|
|
|
* 数据库表映射实体类
|
|
|
*/
|
|
|
protected T entity;
|
|
|
+ private List<ISqlSegment> expression = new ArrayList<>();
|
|
|
+ private boolean didOrderBy = false;
|
|
|
|
|
|
/**
|
|
|
* 判断构造条件不为空
|
|
@@ -133,8 +108,7 @@ public abstract class AbstractWrapper<T, R, This extends AbstractWrapper<T, R, T
|
|
|
* LIKE '%值%'
|
|
|
*/
|
|
|
public This like(boolean condition, R column, Object val) {
|
|
|
- return doIt(condition, () -> columnToString(column), LIKE, () -> "\"%\"", () -> formatSql("{0}", val),
|
|
|
- () -> "\"%\"");
|
|
|
+ return doIt(condition, () -> columnToString(column), LIKE, () -> formatSql("\"%\"{0}\"%\"", val));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -162,7 +136,7 @@ public abstract class AbstractWrapper<T, R, This extends AbstractWrapper<T, R, T
|
|
|
* LIKE '%值'
|
|
|
*/
|
|
|
public This likeLeft(boolean condition, R column, Object val) {
|
|
|
- return doIt(condition, () -> columnToString(column), LIKE, () -> "\"%\"", () -> formatSql("{0}", val));
|
|
|
+ return doIt(condition, () -> columnToString(column), LIKE, () -> formatSql("\"%\"{0}", val));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -176,7 +150,7 @@ public abstract class AbstractWrapper<T, R, This extends AbstractWrapper<T, R, T
|
|
|
* LIKE '值%'
|
|
|
*/
|
|
|
public This likeRight(boolean condition, R column, Object val) {
|
|
|
- return doIt(condition, () -> columnToString(column), LIKE, () -> formatSql("{0}", val), () -> "\"%\"");
|
|
|
+ return doIt(condition, () -> columnToString(column), LIKE, () -> formatSql("{0}\"%\"", val));
|
|
|
}
|
|
|
|
|
|
/**
|