Package cc.carm.lib.easysql.api
Interface SQLAction<T>
-
- Type Parameters:
T- 需要返回的类型
- All Known Subinterfaces:
PreparedQueryAction,PreparedSQLUpdateAction<T>,PreparedSQLUpdateBatchAction<T>,QueryAction,SQLUpdateAction<T>,SQLUpdateBatchAction
public interface SQLAction<T>SQLAction 是用于承载SQL语句并进行处理、返回的基本类。- 同步执行
execute(),execute(SQLFunction, SQLExceptionHandler)
同步执行方法中有会抛出异常的方法与不抛出异常的方法,
若选择不抛出异常,则返回值可能为空,需要特殊处理。 - 异步执行
executeAsync(SQLHandler, SQLExceptionHandler)
异步执行时将提供成功与异常两种处理方式
可自行选择是否对数据或异常进行处理
默认的异常处理器为defaultExceptionHandler()
若有特殊需要,可通过setExceptionHandler(SQLExceptionHandler)方法修改默认的处理器
- Since:
- 0.0.1
- Author:
- CarmJos
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default SQLExceptionHandlerdefaultExceptionHandler()获取管理器提供的默认异常处理器。Texecute()执行该Action对应的SQL语句default <R> Rexecute(@NotNull SQLFunction<T,R> function, @Nullable SQLExceptionHandler exceptionHandler)执行语句并处理返回值default <R> Rexecute(@NotNull SQLFunction<T,R> function, R defaultResult, @Nullable SQLExceptionHandler exceptionHandler)执行语句并处理返回值default Texecute(@Nullable SQLExceptionHandler exceptionHandler)执行语句并返回值default voidexecuteAsync()异步执行SQL语句,采用默认异常处理,无需返回值。default voidexecuteAsync(@Nullable SQLHandler<T> success)异步执行SQL语句voidexecuteAsync(@Nullable SQLHandler<T> success, @Nullable SQLExceptionHandler failure)异步执行SQL语句default <R> RexecuteFunction(@NotNull SQLFunction<@NotNull T,R> function)执行语句并处理返回值default <R> RexecuteFunction(@NotNull SQLFunction<@NotNull T,R> function, R defaultResult)执行语句并处理返回值default @NotNull java.util.concurrent.CompletableFuture<java.lang.Void>executeFuture()以异步Future方式执行SQL语句。<R> @NotNull java.util.concurrent.CompletableFuture<R>executeFuture(@NotNull SQLFunction<T,R> handler)以异步Future方式执行SQL语句。@NotNull java.util.UUIDgetActionUUID()得到该Action的UUIDdefault longgetCreateTime()得到该Action的创建时间。longgetCreateTime(java.util.concurrent.TimeUnit unit)得到该Action的创建时间
注意,此处获得的时间非时间戳毫秒数,仅用于计算耗时。@NotNull SQLManagergetManager()得到承载该Action的对应SQLManager@NotNull java.lang.StringgetShortID()得到短八位格式的UUID@NotNull java.lang.StringgetSQLContent()得到该Action所要执行的源SQL语句default @NotNull java.util.List<java.lang.String>getSQLContents()得到该Action所要执行的源SQL语句列表。default voidhandleException(@Nullable SQLExceptionHandler handler, java.sql.SQLException exception)default voidsetExceptionHandler(@Nullable SQLExceptionHandler handler)设定通用的异常处理器。
-
-
-
Method Detail
-
getActionUUID
@NotNull @NotNull java.util.UUID getActionUUID()
得到该Action的UUID- Returns:
- UUID
-
getShortID
@NotNull @NotNull java.lang.String getShortID()
得到短八位格式的UUID- Returns:
- UUID(8)
-
getCreateTime
default long getCreateTime()
得到该Action的创建时间。
注意,此处获得的时间非时间戳毫秒数,仅用于计算耗时。- Returns:
- 创建时间 (毫秒)
-
getCreateTime
long getCreateTime(java.util.concurrent.TimeUnit unit)
得到该Action的创建时间
注意,此处获得的时间非时间戳毫秒数,仅用于计算耗时。- Parameters:
unit- 时间单位- Returns:
- 创建时间
-
getSQLContent
@NotNull @NotNull java.lang.String getSQLContent()
得到该Action所要执行的源SQL语句- Returns:
- 源SQL语句
-
getSQLContents
@NotNull default @NotNull java.util.List<java.lang.String> getSQLContents()
得到该Action所要执行的源SQL语句列表。- Returns:
- 源SQL语句列表
-
getManager
@NotNull @NotNull SQLManager getManager()
得到承载该Action的对应SQLManager- Returns:
SQLManager
-
execute
@NotNull T execute() throws java.sql.SQLException
执行该Action对应的SQL语句- Returns:
- 指定数据类型
- Throws:
java.sql.SQLException- 当SQL操作出现问题时抛出
-
execute
@Nullable default T execute(@Nullable @Nullable SQLExceptionHandler exceptionHandler)
执行语句并返回值- Parameters:
exceptionHandler- 异常处理器 默认为defaultExceptionHandler()- Returns:
- 指定类型数据
-
execute
@Nullable default <R> R execute(@NotNull @NotNull SQLFunction<T,R> function, @Nullable @Nullable SQLExceptionHandler exceptionHandler)执行语句并处理返回值- Type Parameters:
R- 需要返回的内容- Parameters:
function- 处理方法exceptionHandler- 异常处理器 默认为defaultExceptionHandler()- Returns:
- 指定类型数据
-
execute
@Nullable @Contract("_,!null,_ -> !null") default <R> R execute(@NotNull @NotNull SQLFunction<T,R> function, @Nullable R defaultResult, @Nullable @Nullable SQLExceptionHandler exceptionHandler)执行语句并处理返回值- Type Parameters:
R- 需要返回的内容- Parameters:
function- 处理方法defaultResult- 默认结果,若处理后的结果为null,则返回该值exceptionHandler- 异常处理器 默认为defaultExceptionHandler()- Returns:
- 指定类型数据
-
executeFunction
@Nullable default <R> R executeFunction(@NotNull @NotNull SQLFunction<@NotNull T,R> function) throws java.sql.SQLException执行语句并处理返回值- Type Parameters:
R- 需要返回的内容- Parameters:
function- 处理方法- Returns:
- 指定类型数据
- Throws:
java.sql.SQLException- 当SQL操作出现问题时抛出
-
executeFunction
@Nullable @Contract("_,!null -> !null") default <R> R executeFunction(@NotNull @NotNull SQLFunction<@NotNull T,R> function, @Nullable R defaultResult) throws java.sql.SQLException执行语句并处理返回值- Type Parameters:
R- 需要返回的内容- Parameters:
function- 处理方法defaultResult- 默认结果,若处理后的结果为null,则返回该值- Returns:
- 指定类型数据
- Throws:
java.sql.SQLException- 当SQL操作出现问题时抛出
-
executeAsync
default void executeAsync()
异步执行SQL语句,采用默认异常处理,无需返回值。
-
executeAsync
default void executeAsync(@Nullable @Nullable SQLHandler<T> success)异步执行SQL语句- Parameters:
success- 成功时的操作
-
executeAsync
void executeAsync(@Nullable @Nullable SQLHandler<T> success, @Nullable @Nullable SQLExceptionHandler failure)异步执行SQL语句- Parameters:
success- 成功时的操作failure- 异常处理器 默认为defaultExceptionHandler()
-
executeFuture
@NotNull default @NotNull java.util.concurrent.CompletableFuture<java.lang.Void> executeFuture()
以异步Future方式执行SQL语句。- Returns:
- 异步执行的Future实例,可通过
Future.get()阻塞并等待结果。
-
executeFuture
@NotNull <R> @NotNull java.util.concurrent.CompletableFuture<R> executeFuture(@NotNull @NotNull SQLFunction<T,R> handler)以异步Future方式执行SQL语句。- Returns:
- 异步执行的Future实例,可通过
Future.get()阻塞并等待结果。
-
handleException
default void handleException(@Nullable @Nullable SQLExceptionHandler handler, java.sql.SQLException exception)
-
defaultExceptionHandler
default SQLExceptionHandler defaultExceptionHandler()
获取管理器提供的默认异常处理器。 若未使用过setExceptionHandler(SQLExceptionHandler)方法, 则默认返回SQLExceptionHandler.detailed(Logger)。- Returns:
SQLExceptionHandler
-
setExceptionHandler
default void setExceptionHandler(@Nullable @Nullable SQLExceptionHandler handler)设定通用的异常处理器。
在使用execute(SQLExceptionHandler)等相关方法时,若传入的处理器为null,则会采用此处理器。
若该方法传入参数为 null,则会使用defaultExceptionHandler()。- Parameters:
handler- 异常处理器
-
-