!251 feat: UpdateChain & UpdateWrapper set和setRaw增加 condition 判断方法.

Merge pull request !251 from Jerry_Zheng/main
This commit is contained in:
Michael Yang 2023-08-08 00:27:13 +00:00 committed by Gitee
commit f43bb61d92
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 69 additions and 0 deletions

View File

@ -82,35 +82,62 @@ public class UpdateChain<T> extends QueryWrapperAdapter<UpdateChain<T>> {
return new UpdateChain<>(baseMapper);
}
public UpdateChain<T> set(String property, Object value, boolean condition) {
entityWrapper.set(property, value, condition);
return this;
}
public UpdateChain<T> set(String property, Object value) {
entityWrapper.set(property, value);
return this;
}
public UpdateChain<T> set(LambdaGetter<T> getter, Object value, boolean condition) {
entityWrapper.set(getter, value, condition);
return this;
}
public UpdateChain<T> set(LambdaGetter<T> getter, Object value) {
entityWrapper.set(getter, value);
return this;
}
public UpdateChain<T> set(QueryColumn queryColumn, Object value, boolean condition) {
entityWrapper.set(queryColumn, value, condition);
return this;
}
public UpdateChain<T> set(QueryColumn queryColumn, Object value) {
entityWrapper.set(queryColumn, value);
return this;
}
public UpdateChain<T> setRaw(String property, Object value, boolean condition) {
entityWrapper.setRaw(property, value, condition);
return this;
}
public UpdateChain<T> setRaw(String property, Object value) {
entityWrapper.setRaw(property, value);
return this;
}
public UpdateChain<T> setRaw(LambdaGetter<T> getter, Object value, boolean condition) {
entityWrapper.setRaw(getter, value, condition);
return this;
}
public UpdateChain<T> setRaw(LambdaGetter<T> getter, Object value) {
entityWrapper.setRaw(getter, value);
return this;
}
public UpdateChain<T> setRaw(QueryColumn queryColumn, Object value, boolean condition) {
entityWrapper.setRaw(queryColumn, value, condition);
return this;
}
public UpdateChain<T> setRaw(QueryColumn queryColumn, Object value) {
entityWrapper.set(queryColumn, value);
return this;

View File

@ -36,6 +36,12 @@ public interface UpdateWrapper extends Serializable {
return handler.getUpdates();
}
default UpdateWrapper set(String property, Object value, boolean condition) {
if (condition) {
return set(property, value);
}
return this;
}
default UpdateWrapper set(String property, Object value) {
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
@ -46,6 +52,12 @@ public interface UpdateWrapper extends Serializable {
return this;
}
default <T> UpdateWrapper set(LambdaGetter<T> getter, Object value, boolean condition) {
if (condition) {
return set(getter, value);
}
return this;
}
default <T> UpdateWrapper set(LambdaGetter<T> getter, Object value) {
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
@ -57,6 +69,12 @@ public interface UpdateWrapper extends Serializable {
return this;
}
default <T> UpdateWrapper set(QueryColumn queryColumn, Object value, boolean condition) {
if (condition) {
return set(queryColumn, value);
}
return this;
}
default <T> UpdateWrapper set(QueryColumn queryColumn, Object value) {
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
@ -67,17 +85,41 @@ public interface UpdateWrapper extends Serializable {
return this;
}
default UpdateWrapper setRaw(String property, Object value, boolean condition) {
if (condition) {
return setRaw(property, value);
}
return this;
}
default UpdateWrapper setRaw(String property, Object value) {
getUpdates().put(property, new RawValue(value));
return this;
}
default <T> UpdateWrapper setRaw(LambdaGetter<T> getter, Object value, boolean condition) {
if (condition) {
return setRaw(getter, value);
}
return this;
}
default <T> UpdateWrapper setRaw(LambdaGetter<T> getter, Object value) {
getUpdates().put(LambdaUtil.getFieldName(getter), new RawValue(value));
return this;
}
default <T> UpdateWrapper setRaw(QueryColumn queryColumn, Object value, boolean condition) {
if (condition) {
return setRaw(queryColumn, value);
}
return this;
}
default <T> UpdateWrapper setRaw(QueryColumn queryColumn, Object value) {
getUpdates().put(queryColumn.getName(), new RawValue(value));
return this;