mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 01:28:24 +08:00
feat: 添加更多条件设置重载。
This commit is contained in:
parent
3e034e6b13
commit
4e0fad7e17
@ -29,103 +29,79 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* @author michael
|
* @author michael
|
||||||
*/
|
*/
|
||||||
public interface UpdateWrapper extends Serializable {
|
public interface UpdateWrapper extends PropertySetter<UpdateWrapper>, Serializable {
|
||||||
|
|
||||||
default Map<String, Object> getUpdates() {
|
default Map<String, Object> getUpdates() {
|
||||||
ModifyAttrsRecordHandler handler = (ModifyAttrsRecordHandler) ((ProxyObject) this).getHandler();
|
ModifyAttrsRecordHandler handler = (ModifyAttrsRecordHandler) ((ProxyObject) this).getHandler();
|
||||||
return handler.getUpdates();
|
return handler.getUpdates();
|
||||||
}
|
}
|
||||||
|
|
||||||
default UpdateWrapper set(String property, Object value, boolean condition) {
|
@Override
|
||||||
if (condition) {
|
default UpdateWrapper set(String property, Object value, boolean isEffective) {
|
||||||
return set(property, value);
|
if (isEffective) {
|
||||||
}
|
if (value instanceof QueryWrapper
|
||||||
return this;
|
|| value instanceof QueryColumn
|
||||||
}
|
|| value instanceof QueryCondition) {
|
||||||
|
getUpdates().put(property, new RawValue(value));
|
||||||
default UpdateWrapper set(String property, Object value) {
|
|
||||||
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
|
|
||||||
setRaw(property, value);
|
|
||||||
} else {
|
} else {
|
||||||
getUpdates().put(property, value);
|
getUpdates().put(property, value);
|
||||||
}
|
}
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
default <T> UpdateWrapper set(LambdaGetter<T> getter, Object value, boolean condition) {
|
|
||||||
if (condition) {
|
|
||||||
return set(getter, value);
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
default <T> UpdateWrapper set(LambdaGetter<T> getter, Object value) {
|
@Override
|
||||||
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
|
default UpdateWrapper set(QueryColumn property, Object value, boolean isEffective) {
|
||||||
setRaw(getter, value);
|
if (isEffective) {
|
||||||
|
if (value instanceof QueryWrapper
|
||||||
|
|| value instanceof QueryColumn
|
||||||
|
|| value instanceof QueryCondition) {
|
||||||
|
getUpdates().put(property.getName(), new RawValue(value));
|
||||||
} else {
|
} else {
|
||||||
getUpdates().put(LambdaUtil.getFieldName(getter), value);
|
getUpdates().put(property.getName(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
default <T> UpdateWrapper set(QueryColumn queryColumn, Object value, boolean condition) {
|
|
||||||
if (condition) {
|
|
||||||
return set(queryColumn, value);
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
default <T> UpdateWrapper set(QueryColumn queryColumn, Object value) {
|
@Override
|
||||||
if (value instanceof QueryWrapper || value instanceof QueryCondition || value instanceof QueryColumn) {
|
default <T> UpdateWrapper set(LambdaGetter<T> property, Object value, boolean isEffective) {
|
||||||
setRaw(queryColumn, value);
|
if (isEffective) {
|
||||||
|
if (value instanceof QueryWrapper
|
||||||
|
|| value instanceof QueryColumn
|
||||||
|
|| value instanceof QueryCondition) {
|
||||||
|
getUpdates().put(LambdaUtil.getFieldName(property), new RawValue(value));
|
||||||
} else {
|
} else {
|
||||||
getUpdates().put(queryColumn.getName(), value);
|
getUpdates().put(LambdaUtil.getFieldName(property), value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
default UpdateWrapper setRaw(String property, Object value, boolean condition) {
|
default UpdateWrapper setRaw(String property, Object value, boolean isEffective) {
|
||||||
if (condition) {
|
if (isEffective) {
|
||||||
return setRaw(property, value);
|
|
||||||
}
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
default UpdateWrapper setRaw(String property, Object value) {
|
|
||||||
getUpdates().put(property, new RawValue(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;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
default <T> UpdateWrapper setRaw(LambdaGetter<T> getter, Object value) {
|
default UpdateWrapper setRaw(QueryColumn property, Object value, boolean isEffective) {
|
||||||
getUpdates().put(LambdaUtil.getFieldName(getter), new RawValue(value));
|
if (isEffective) {
|
||||||
return this;
|
getUpdates().put(property.getName(), new RawValue(value));
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
default <T> UpdateWrapper setRaw(QueryColumn queryColumn, Object value, boolean condition) {
|
|
||||||
if (condition) {
|
|
||||||
return setRaw(queryColumn, value);
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
default <T> UpdateWrapper setRaw(QueryColumn queryColumn, Object value) {
|
@Override
|
||||||
getUpdates().put(queryColumn.getName(), new RawValue(value));
|
default <T> UpdateWrapper setRaw(LambdaGetter<T> property, Object value, boolean isEffective) {
|
||||||
|
if (isEffective) {
|
||||||
|
getUpdates().put(LambdaUtil.getFieldName(property), new RawValue(value));
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static UpdateWrapper of(Object entity) {
|
static UpdateWrapper of(Object entity) {
|
||||||
if (entity instanceof UpdateWrapper) {
|
if (entity instanceof UpdateWrapper) {
|
||||||
return (UpdateWrapper) entity;
|
return (UpdateWrapper) entity;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user