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