This commit is contained in:
@@ -33,7 +33,7 @@ public interface DataSource {
|
|||||||
|
|
||||||
//----------------------insertAsync-----------------------------
|
//----------------------insertAsync-----------------------------
|
||||||
/**
|
/**
|
||||||
* 新增记录, 多对象必须是同一个Entity类 <br>
|
* 新增记录, 多对象必须是同一个Entity类且必须在同一张表中 <br>
|
||||||
*
|
*
|
||||||
* @param <T> 泛型
|
* @param <T> 泛型
|
||||||
* @param values Entity对象
|
* @param values Entity对象
|
||||||
@@ -41,7 +41,7 @@ public interface DataSource {
|
|||||||
public <T> void insert(final T... values);
|
public <T> void insert(final T... values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增记录, 多对象必须是同一个Entity类 <br>
|
* 新增记录, 多对象必须是同一个Entity类且必须在同一张表中 <br>
|
||||||
*
|
*
|
||||||
* @param <T> 泛型
|
* @param <T> 泛型
|
||||||
* @param values Entity对象
|
* @param values Entity对象
|
||||||
@@ -52,7 +52,7 @@ public interface DataSource {
|
|||||||
|
|
||||||
//-------------------------deleteAsync--------------------------
|
//-------------------------deleteAsync--------------------------
|
||||||
/**
|
/**
|
||||||
* 删除指定主键值的记录, 多对象必须是同一个Entity类 <br>
|
* 删除指定主键值的记录, 多对象必须是同一个Entity类且必须在同一张表中 <br>
|
||||||
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {values.id} <br>
|
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {values.id} <br>
|
||||||
*
|
*
|
||||||
* @param <T> 泛型
|
* @param <T> 泛型
|
||||||
@@ -63,7 +63,7 @@ public interface DataSource {
|
|||||||
public <T> int delete(final T... values);
|
public <T> int delete(final T... values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除指定主键值的记录, 多对象必须是同一个Entity类 <br>
|
* 删除指定主键值的记录, 多对象必须是同一个Entity类且必须在同一张表中 <br>
|
||||||
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {values.id} <br>
|
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {values.id} <br>
|
||||||
*
|
*
|
||||||
* @param <T> 泛型
|
* @param <T> 泛型
|
||||||
@@ -74,7 +74,7 @@ public interface DataSource {
|
|||||||
public <T> CompletableFuture<Integer> deleteAsync(final T... values);
|
public <T> CompletableFuture<Integer> deleteAsync(final T... values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除指定主键值的记录 <br>
|
* 删除指定主键值的记录,多主键值必须在同一张表中 <br>
|
||||||
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {ids} <br>
|
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {ids} <br>
|
||||||
*
|
*
|
||||||
* @param <T> Entity泛型
|
* @param <T> Entity泛型
|
||||||
@@ -86,7 +86,7 @@ public interface DataSource {
|
|||||||
public <T> int delete(final Class<T> clazz, final Serializable... ids);
|
public <T> int delete(final Class<T> clazz, final Serializable... ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除指定主键值的记录 <br>
|
* 删除指定主键值的记录,多主键值必须在同一张表中 <br>
|
||||||
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {ids} <br>
|
* 等价SQL: DELETE FROM {table} WHERE {primary} IN {ids} <br>
|
||||||
*
|
*
|
||||||
* @param <T> Entity泛型
|
* @param <T> Entity泛型
|
||||||
@@ -151,7 +151,7 @@ public interface DataSource {
|
|||||||
|
|
||||||
//------------------------updateAsync---------------------------
|
//------------------------updateAsync---------------------------
|
||||||
/**
|
/**
|
||||||
* 更新记录, 多对象必须是同一个Entity类 <br>
|
* 更新记录, 多对象必须是同一个Entity类且必须在同一张表中 <br>
|
||||||
* 等价SQL: <br>
|
* 等价SQL: <br>
|
||||||
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id1} <br>
|
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id1} <br>
|
||||||
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id2} <br>
|
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id2} <br>
|
||||||
@@ -165,7 +165,7 @@ public interface DataSource {
|
|||||||
public <T> int update(final T... values);
|
public <T> int update(final T... values);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新记录, 多对象必须是同一个Entity类 <br>
|
* 更新记录, 多对象必须是同一个Entity类且必须在同一张表中 <br>
|
||||||
* 等价SQL: <br>
|
* 等价SQL: <br>
|
||||||
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id1} <br>
|
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id1} <br>
|
||||||
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id2} <br>
|
* UPDATE {table} SET column1 = value1, column2 = value2, ··· WHERE {primary} = {id2} <br>
|
||||||
|
|||||||
@@ -434,6 +434,7 @@ public abstract class DataSqlSource<DBChannel> extends AbstractService implement
|
|||||||
sql += FilterNode.formatToString(ids[i]);
|
sql += FilterNode.formatToString(ids[i]);
|
||||||
}
|
}
|
||||||
sql += ")";
|
sql += ")";
|
||||||
|
if (info.isLoggable(logger, Level.FINEST)) logger.finest(info.getType().getSimpleName() + " delete sql=" + sql);
|
||||||
return deleteDB(info, null, sql);
|
return deleteDB(info, null, sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -501,6 +502,33 @@ public abstract class DataSqlSource<DBChannel> extends AbstractService implement
|
|||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------- update ----------------------------
|
//---------------------------- update ----------------------------
|
||||||
|
@Override
|
||||||
|
public <T> int updateCache(Class<T> clazz, T... values) {
|
||||||
|
if (values.length == 0) return 0;
|
||||||
|
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||||
|
final EntityCache<T> cache = info.getCache();
|
||||||
|
if (cache == null) return -1;
|
||||||
|
int c = 0;
|
||||||
|
for (T value : values) {
|
||||||
|
c += cache.update(value);
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
public <T> int reloadCache(Class<T> clazz, Serializable... ids) {
|
||||||
|
final EntityInfo<T> info = loadEntityInfo(clazz);
|
||||||
|
final EntityCache<T> cache = info.getCache();
|
||||||
|
if (cache == null) return -1;
|
||||||
|
String column = info.getPrimary().field();
|
||||||
|
int c = 0;
|
||||||
|
for (Serializable id : ids) {
|
||||||
|
Sheet<T> sheet = querySheet(false, true, clazz, null, FLIPPER_ONE, FilterNode.create(column, id)).join();
|
||||||
|
T value = sheet.isEmpty() ? null : sheet.list().get(0);
|
||||||
|
if (value != null) c += cache.update(value);
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------- getNumberMap -------------------------
|
//------------------------- getNumberMap -------------------------
|
||||||
@Override
|
@Override
|
||||||
public <N extends Number> Map<String, N> getNumberMap(final Class entityClass, final FilterFuncColumn... columns) {
|
public <N extends Number> Map<String, N> getNumberMap(final Class entityClass, final FilterFuncColumn... columns) {
|
||||||
|
|||||||
Reference in New Issue
Block a user