|
@@ -15,19 +15,16 @@
|
|
|
*/
|
|
|
package com.baomidou.mybatisplus.core.conditions.update;
|
|
|
|
|
|
-import static java.util.stream.Collectors.joining;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.AbstractWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.sql.SqlUtils;
|
|
|
-
|
|
|
/**
|
|
|
* <p>
|
|
|
* Update 条件封装
|
|
@@ -42,7 +39,7 @@ public class UpdateWrapper<T> extends AbstractWrapper<T, String, UpdateWrapper<T
|
|
|
/**
|
|
|
* SQL 更新字段内容,例如:name='1',age=2
|
|
|
*/
|
|
|
- private List<String> sqlSet = new ArrayList<>();
|
|
|
+ private List<String> sqlSet;
|
|
|
|
|
|
public UpdateWrapper() {
|
|
|
// 如果无参构造函数,请注意实体 NULL 情况 SET 必须有否则 SQL 异常
|
|
@@ -51,12 +48,14 @@ public class UpdateWrapper<T> extends AbstractWrapper<T, String, UpdateWrapper<T
|
|
|
|
|
|
public UpdateWrapper(T entity) {
|
|
|
this.entity = entity;
|
|
|
+ this.sqlSet = new ArrayList<>();
|
|
|
this.initNeed();
|
|
|
}
|
|
|
|
|
|
- private UpdateWrapper(T entity, AtomicInteger paramNameSeq, Map<String, Object> paramNameValuePairs,
|
|
|
- MergeSegments mergeSegments) {
|
|
|
+ private UpdateWrapper(T entity, List<String> sqlSet, AtomicInteger paramNameSeq,
|
|
|
+ Map<String, Object> paramNameValuePairs, MergeSegments mergeSegments) {
|
|
|
this.entity = entity;
|
|
|
+ this.sqlSet = sqlSet;
|
|
|
this.paramNameSeq = paramNameSeq;
|
|
|
this.paramNameValuePairs = paramNameValuePairs;
|
|
|
this.expression = mergeSegments;
|
|
@@ -68,7 +67,7 @@ public class UpdateWrapper<T> extends AbstractWrapper<T, String, UpdateWrapper<T
|
|
|
* </p>
|
|
|
*/
|
|
|
public LambdaUpdateWrapper<T> lambda() {
|
|
|
- return new LambdaUpdateWrapper<>(entity, paramNameSeq, paramNameValuePairs, expression);
|
|
|
+ return new LambdaUpdateWrapper<>(entity, sqlSet, paramNameSeq, paramNameValuePairs, expression);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -76,7 +75,7 @@ public class UpdateWrapper<T> extends AbstractWrapper<T, String, UpdateWrapper<T
|
|
|
if (CollectionUtils.isEmpty(sqlSet)) {
|
|
|
return null;
|
|
|
}
|
|
|
- return SqlUtils.stripSqlInjection(sqlSet.stream().collect(joining(StringPool.COMMA)));
|
|
|
+ return String.join(StringPool.COMMA, sqlSet);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -126,6 +125,6 @@ public class UpdateWrapper<T> extends AbstractWrapper<T, String, UpdateWrapper<T
|
|
|
|
|
|
@Override
|
|
|
protected UpdateWrapper<T> instance(AtomicInteger paramNameSeq, Map<String, Object> paramNameValuePairs) {
|
|
|
- return new UpdateWrapper<>(entity, paramNameSeq, paramNameValuePairs, new MergeSegments());
|
|
|
+ return new UpdateWrapper<>(entity, sqlSet, paramNameSeq, paramNameValuePairs, new MergeSegments());
|
|
|
}
|
|
|
}
|