DataSource接口扩展

This commit is contained in:
redkale
2023-12-29 10:04:30 +08:00
parent 79a310181c
commit 06a1d5d1bb
2 changed files with 37 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
# 配置说明
# application.xml配置
# application.xml 配置:
```xml
<!--
文件说明:
@@ -366,7 +366,7 @@
</application>
```
# source.properties配置
# source.properties 配置:
```properties
# CacheSource @Resource(name="usersession")
@@ -420,7 +420,7 @@ redkale.datasource.platf.write.user = root
redkale.datasource.platf.write.password = 12345678
```
# logging.properties配置
# logging.properties 配置:
```properties
handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler

View File

@@ -702,6 +702,23 @@ public interface DataSource extends Resourcable {
*/
public <T> int updateColumn(final Class<T> clazz, final Serializable pk, final ColumnValue... values);
/**
* 更新指定主键值记录的部分字段 <br>
* 字段赋值操作选项见 ColumnExpress <br>
* 等价SQL: UPDATE {table} SET {column1} = {value1}, {column2} += {value2}, {column3} *= {value3}, &#183;&#183;&#183; WHERE {filter node} <br>
*
* @param <T> Entity泛型
* @param clazz Entity类
* @param pk 主键
* @param func 更新字段
* @param value 更新字段值
*
* @return 影响的记录条数
*/
default <T> int updateColumn(final Class<T> clazz, final Serializable pk, LambdaFunction<T, ?> func, Serializable value) {
return updateColumn(clazz, pk, ColumnValue.set(func, value));
}
/**
* 更新指定主键值记录的部分字段 <br>
* 字段赋值操作选项见 ColumnExpress <br>
@@ -716,6 +733,23 @@ public interface DataSource extends Resourcable {
*/
public <T> CompletableFuture<Integer> updateColumnAsync(final Class<T> clazz, final Serializable pk, final ColumnValue... values);
/**
* 更新指定主键值记录的部分字段 <br>
* 字段赋值操作选项见 ColumnExpress <br>
* 等价SQL: UPDATE {table} SET {column1} = {value1}, {column2} += {value2}, {column3} *= {value3}, &#183;&#183;&#183; WHERE {filter node} <br>
*
* @param <T> Entity泛型
* @param clazz Entity类
* @param pk 主键
* @param func 更新字段
* @param value 更新字段值
*
* @return 影响的记录条数CompletableFuture
*/
default <T> CompletableFuture<Integer> updateColumnAsync(final Class<T> clazz, final Serializable pk, LambdaFunction<T, ?> func, Serializable value) {
return updateColumnAsync(clazz, pk, ColumnValue.set(func, value));
}
/**
* 更新符合过滤条件记录的部分字段 <br>
* 字段赋值操作选项见 ColumnExpress <br>