This commit is contained in:
redkale
2023-12-30 10:48:09 +08:00
parent 5ee14bc859
commit 4a383a9dc1
3 changed files with 67 additions and 23 deletions

View File

@@ -25,7 +25,6 @@ import org.redkale.persistence.Entity;
import org.redkale.service.*;
import static org.redkale.source.DataSources.*;
import org.redkale.util.*;
import org.redkale.annotation.ResourceChanged;
/**
* DataSource的S抽象实现类 <br>
@@ -1244,12 +1243,12 @@ public abstract class AbstractDataSource extends AbstractService implements Data
}
@Override
public <T> DataBatch update(Class<T> clazz, Serializable pk, String column, Serializable value) {
return update(clazz, pk, ColumnValue.set(column, value));
public <T> DataBatch updateColumn(Class<T> clazz, Serializable pk, String column, Serializable value) {
return updateColumn(clazz, pk, ColumnValue.set(column, value));
}
@Override
public <T> DataBatch update(Class<T> clazz, Serializable pk, ColumnValue... values) {
public <T> DataBatch updateColumn(Class<T> clazz, Serializable pk, ColumnValue... values) {
Objects.requireNonNull(clazz);
if (clazz.getAnnotation(Entity.class) == null) {
throw new SourceException("Entity Class " + clazz + " must be on Annotation @Entity");
@@ -1266,17 +1265,17 @@ public abstract class AbstractDataSource extends AbstractService implements Data
}
@Override
public <T> DataBatch update(Class<T> clazz, FilterNode node, String column, Serializable value) {
return update(clazz, node, (Flipper) null, ColumnValue.set(column, value));
public <T> DataBatch updateColumn(Class<T> clazz, FilterNode node, String column, Serializable value) {
return updateColumn(clazz, node, (Flipper) null, ColumnValue.set(column, value));
}
@Override
public <T> DataBatch update(Class<T> clazz, FilterNode node, ColumnValue... values) {
return update(clazz, node, (Flipper) null, values);
public <T> DataBatch updateColumn(Class<T> clazz, FilterNode node, ColumnValue... values) {
return updateColumn(clazz, node, (Flipper) null, values);
}
@Override
public <T> DataBatch update(Class<T> clazz, FilterNode node, Flipper flipper, ColumnValue... values) {
public <T> DataBatch updateColumn(Class<T> clazz, FilterNode node, Flipper flipper, ColumnValue... values) {
Objects.requireNonNull(clazz);
if (clazz.getAnnotation(Entity.class) == null) {
throw new SourceException("Entity Class " + clazz + " must be on Annotation @Entity");

View File

@@ -5,6 +5,8 @@ package org.redkale.source;
import java.io.Serializable;
import java.util.Collection;
import org.redkale.util.LambdaFunction;
import org.redkale.util.LambdaSupplier;
import org.redkale.util.SelectColumn;
/**
@@ -43,15 +45,13 @@ public interface DataBatch {
public <T> DataBatch update(Collection<T> entitys);
public <T> DataBatch update(Class<T> clazz, Serializable pk, String column, Serializable value);
public <T> DataBatch updateColumn(Class<T> clazz, Serializable pk, String column, Serializable value);
public <T> DataBatch update(Class<T> clazz, Serializable pk, ColumnValue... values);
public <T> DataBatch updateColumn(Class<T> clazz, Serializable pk, ColumnValue... values);
public <T> DataBatch update(Class<T> clazz, FilterNode node, String column, Serializable value);
public <T> DataBatch updateColumn(Class<T> clazz, FilterNode node, String column, Serializable value);
public <T> DataBatch update(Class<T> clazz, FilterNode node, ColumnValue... values);
public <T> DataBatch update(Class<T> clazz, FilterNode node, Flipper flipper, ColumnValue... values);
public <T> DataBatch updateColumn(Class<T> clazz, FilterNode node, Flipper flipper, ColumnValue... values);
public <T> DataBatch updateColumn(T entity, final String... columns);
@@ -61,4 +61,23 @@ public interface DataBatch {
public <T> DataBatch updateColumn(T entity, final FilterNode node, SelectColumn selects);
default <T, V extends Serializable> DataBatch updateColumn(final Class<T> clazz, final Serializable pk, final LambdaSupplier<V> func) {
return updateColumn(clazz, pk, LambdaSupplier.readColumn(func), func.get());
}
default <T> DataBatch updateColumn(final Class<T> clazz, final Serializable pk, LambdaFunction<T, ?> func, Serializable value) {
return updateColumn(clazz, pk, ColumnValue.set(func, value));
}
default <T> DataBatch updateColumn(final Class<T> clazz, final FilterNode node, final ColumnValue... values) {
return updateColumn(clazz, node, (Flipper) null, values);
}
default <T> DataBatch updateColumn(final T entity, final LambdaFunction<T, ?>... funcs) {
return updateColumn(entity, (FilterNode) null, LambdaFunction.readColumns(funcs));
}
default <T> DataBatch updateColumn(final T entity, final FilterNode node, final LambdaFunction<T, ?>... funcs) {
return updateColumn(entity, node, LambdaFunction.readColumns(funcs));
}
}