1
mirror of https://github.com/CarmJos/EasySQL.git synced 2026-06-04 07:18:23 +08:00

feat(future): 提供更方便的executeFuture使用方法。

This commit is contained in:
2022-08-10 20:16:48 +08:00
parent ce088a72a7
commit d92a752239
8 changed files with 23 additions and 9 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
<parent>
<groupId>cc.carm.lib</groupId>
<artifactId>easysql-parent</artifactId>
<version>0.4.4</version>
<version>0.4.5</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -12,6 +12,7 @@ import java.sql.SQLException;
import java.util.Collections;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
@@ -207,7 +208,21 @@ public interface SQLAction<T> {
void executeAsync(@Nullable SQLHandler<T> success,
@Nullable SQLExceptionHandler failure);
<R> @NotNull Future<R> executeFuture(@NotNull SQLFunction<T, R> handler);
/**
* 以异步Future方式执行SQL语句。
*
* @return 异步执行的Future实例,可通过 {@link Future#get()} 阻塞并等待结果。
*/
default @NotNull CompletableFuture<Void> executeFuture() {
return executeFuture((t -> null));
}
/**
* 以异步Future方式执行SQL语句。
*
* @return 异步执行的Future实例,可通过 {@link Future#get()} 阻塞并等待结果。
*/
<R> @NotNull CompletableFuture<R> executeFuture(@NotNull SQLFunction<T, R> handler);
default void handleException(@Nullable SQLExceptionHandler handler, SQLException exception) {
if (handler == null) handler = defaultExceptionHandler();