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 SQLExceptionHandler
defaultExceptionHandler()
获取管理器提供的默认异常处理器。T
execute()
执行该Action对应的SQL语句default <R> R
execute(@NotNull SQLFunction<T,R> function, @Nullable SQLExceptionHandler exceptionHandler)
执行语句并处理返回值default <R> R
execute(@NotNull SQLFunction<T,R> function, R defaultResult, @Nullable SQLExceptionHandler exceptionHandler)
执行语句并处理返回值default T
execute(@Nullable SQLExceptionHandler exceptionHandler)
执行语句并返回值default void
executeAsync()
异步执行SQL语句,采用默认异常处理,无需返回值。default void
executeAsync(@Nullable SQLHandler<T> success)
异步执行SQL语句void
executeAsync(@Nullable SQLHandler<T> success, @Nullable SQLExceptionHandler failure)
异步执行SQL语句default <R> R
executeFunction(@NotNull SQLFunction<@NotNull T,R> function)
执行语句并处理返回值default <R> R
executeFunction(@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.UUID
getActionUUID()
得到该Action的UUIDdefault long
getCreateTime()
得到该Action的创建时间。long
getCreateTime(java.util.concurrent.TimeUnit unit)
得到该Action的创建时间
注意,此处获得的时间非时间戳毫秒数,仅用于计算耗时。@NotNull SQLManager
getManager()
得到承载该Action的对应SQLManager
@NotNull java.lang.String
getShortID()
得到短八位格式的UUID@NotNull java.lang.String
getSQLContent()
得到该Action所要执行的源SQL语句default @NotNull java.util.List<java.lang.String>
getSQLContents()
得到该Action所要执行的源SQL语句列表。default void
handleException(@Nullable SQLExceptionHandler handler, java.sql.SQLException exception)
default void
setExceptionHandler(@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
- 异常处理器
-
-