Package cc.carm.lib.easysql.api
Interface SQLManager
- 
 public interface SQLManagerSQLManager 是EasySQL的核心类,用于管理数据库连接,提供数据库操作的方法。- Author:
- CarmJos
 
- 
- 
Method SummaryAll Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description TableAlterBuilderalterTable(@NotNull java.lang.String tableName)对库中的某个表执行更改。DeleteBuildercreateDelete(@NotNull java.lang.String tableName)创建删除操作。InsertBuilder<PreparedSQLUpdateAction<java.lang.Integer>>createInsert(@NotNull java.lang.String tableName)创建一条插入操作。InsertBuilder<PreparedSQLUpdateBatchAction<java.lang.Integer>>createInsertBatch(@NotNull java.lang.String tableName)创建支持多组数据的插入操作。QueryBuildercreateQuery()新建一个查询。ReplaceBuilder<PreparedSQLUpdateAction<java.lang.Integer>>createReplace(@NotNull java.lang.String tableName)创建一条替换操作。ReplaceBuilder<PreparedSQLUpdateBatchAction<java.lang.Integer>>createReplaceBatch(@NotNull java.lang.String tableName)创建支持多组数据的替换操作。TableCreateBuildercreateTable(@NotNull java.lang.String tableName)在库中创建一个表。UpdateBuildercreateUpdate(@NotNull java.lang.String tableName)创建更新操作。static java.util.concurrent.ExecutorServicedefaultExecutorPool(java.lang.String threadName)@Nullable java.lang.IntegerexecuteSQL(java.lang.String sql)执行一条不需要返回结果的SQL语句(多用于UPDATE、REPLACE、DELETE方法) 该方法使用 Statement 实现,请注意SQL注入风险!@Nullable java.lang.IntegerexecuteSQL(java.lang.String sql, java.lang.Object[] params)执行一条不需要返回结果的预处理SQL更改(UPDATE、REPLACE、DELETE)@Nullable java.util.List<java.lang.Integer>executeSQLBatch(@NotNull java.lang.Iterable<java.lang.String> sqlBatch)执行多条不需要返回结果的SQL。@Nullable java.util.List<java.lang.Integer>executeSQLBatch(@NotNull java.lang.String sql, java.lang.String... moreSQL)执行多条不需要返回结果的SQL。@Nullable java.util.List<java.lang.Integer>executeSQLBatch(java.lang.String sql, java.lang.Iterable<java.lang.Object[]> paramsBatch)执行多条不需要返回结果的SQL更改(UPDATE、REPLACE、DELETE)<R> java.util.concurrent.CompletableFuture<R>fetchMetadata(@NotNull SQLBiFunction<java.sql.DatabaseMetaData,java.sql.Connection,java.sql.ResultSet> supplier, @NotNull SQLFunction<@NotNull java.sql.ResultSet,R> reader)获取并操作DatabaseMetaData提供的指定ResultSet以得到需要的数据库消息。<R> java.util.concurrent.CompletableFuture<R>fetchMetadata(@NotNull SQLBiFunction<java.sql.DatabaseMetaData,java.sql.Connection,R> reader)获取并操作DatabaseMetaData以得到需要的数据库消息。default <R> java.util.concurrent.CompletableFuture<R>fetchMetadata(@NotNull SQLFunction<java.sql.DatabaseMetaData,java.sql.ResultSet> supplier, @NotNull SQLFunction<@NotNull java.sql.ResultSet,R> reader)获取并操作DatabaseMetaData提供的指定ResultSet以得到需要的数据库消息。default <R> java.util.concurrent.CompletableFuture<R>fetchMetadata(@NotNull SQLFunction<java.sql.DatabaseMetaData,R> reader)获取并操作DatabaseMetaData以得到需要的数据库消息。TableMetadataBuilderfetchTableMetadata(@NotNull java.lang.String tablePattern)快速获取表的部分元数据。@NotNull java.util.Map<java.util.UUID,SQLQuery>getActiveQuery()得到正使用的查询。@NotNull java.sql.ConnectiongetConnection()得到一个数据库连接实例@NotNull javax.sql.DataSourcegetDataSource()得到连接池源@NotNull SQLDebugHandlergetDebugHandler()获取调试处理器,用于处理调试信息。@NotNull SQLExceptionHandlergetExceptionHandler()获取改管理器提供的默认异常处理器。@NotNull java.util.concurrent.ExecutorServicegetExecutorPool()获取用于执行SQLAction.executeAsync()的线程池。org.slf4j.LoggergetLogger()booleanisDebugMode()voidsetDebugHandler(@NotNull SQLDebugHandler debugHandler)设定调试处理器,默认为SQLDebugHandler.defaultHandler(Logger)。default voidsetDebugMode(boolean enable)设定是否启用调试模式。voidsetDebugMode(@NotNull java.util.function.Supplier<@NotNull java.lang.Boolean> debugMode)设定是否启用调试模式。voidsetExceptionHandler(@Nullable SQLExceptionHandler handler)设定通用的异常处理器。voidsetExecutorPool(@NotNull java.util.concurrent.ExecutorService executorPool)设定用于执行SQLAction.executeAsync()的线程池.
 
- 
- 
- 
Method Detail- 
getLoggerorg.slf4j.Logger getLogger() 
 - 
isDebugModeboolean isDebugMode() 
 - 
getExecutorPool@NotNull @NotNull java.util.concurrent.ExecutorService getExecutorPool() - Returns:
- ExecutorService
 
 - 
setExecutorPoolvoid setExecutorPool(@NotNull @NotNull java.util.concurrent.ExecutorService executorPool)- Parameters:
- executorPool-- ExecutorService
 
 - 
defaultExecutorPoolstatic java.util.concurrent.ExecutorService defaultExecutorPool(java.lang.String threadName) 
 - 
setDebugModevoid setDebugMode(@NotNull @NotNull java.util.function.Supplier<@NotNull java.lang.Boolean> debugMode)设定是否启用调试模式。 启用调试模式后,会在每次执行SQL语句时,调用getDebugHandler()来输出调试信息。- Parameters:
- debugMode- 是否启用调试模式
 
 - 
setDebugModedefault void setDebugMode(boolean enable) 设定是否启用调试模式。 启用调试模式后,会在每次执行SQL语句时,调用getDebugHandler()来输出调试信息。- Parameters:
- enable- 是否启用调试模式
 
 - 
getDebugHandler@NotNull @NotNull SQLDebugHandler getDebugHandler() 获取调试处理器,用于处理调试信息。- Returns:
- SQLDebugHandler
 
 - 
setDebugHandlervoid setDebugHandler(@NotNull @NotNull SQLDebugHandler debugHandler)设定调试处理器,默认为SQLDebugHandler.defaultHandler(Logger)。- Parameters:
- debugHandler-- SQLDebugHandler
 
 - 
getDataSource@NotNull @NotNull javax.sql.DataSource getDataSource() 得到连接池源- Returns:
- DataSource
 
 - 
getConnection@NotNull @NotNull java.sql.Connection getConnection() throws java.sql.SQLException得到一个数据库连接实例- Returns:
- Connection
- Throws:
- java.sql.SQLException- 见- DataSource.getConnection()
 
 - 
getActiveQuery@NotNull @NotNull java.util.Map<java.util.UUID,SQLQuery> getActiveQuery() 得到正使用的查询。- Returns:
- 查询列表
 
 - 
getExceptionHandler@NotNull @NotNull SQLExceptionHandler getExceptionHandler() 获取改管理器提供的默认异常处理器。 若未使用过setExceptionHandler(SQLExceptionHandler)方法, 则默认返回SQLExceptionHandler.detailed(Logger)。- Returns:
- SQLExceptionHandler
 
 - 
setExceptionHandlervoid setExceptionHandler(@Nullable @Nullable SQLExceptionHandler handler)设定通用的异常处理器。
 在使用SQLAction.execute(SQLExceptionHandler)等相关方法时,若传入的处理器为null,则会采用此处理器。
 若该方法传入参数为 null,则会使用SQLExceptionHandler.detailed(Logger)。- Parameters:
- handler- 异常处理器
 
 - 
executeSQL@Nullable @Nullable java.lang.Integer executeSQL(java.lang.String sql) 执行一条不需要返回结果的SQL语句(多用于UPDATE、REPLACE、DELETE方法) 该方法使用 Statement 实现,请注意SQL注入风险!- Parameters:
- sql- SQL语句内容
- Returns:
- 更新的行数
- See Also:
- SQLUpdateAction
 
 - 
executeSQL@Nullable @Nullable java.lang.Integer executeSQL(java.lang.String sql, java.lang.Object[] params)执行一条不需要返回结果的预处理SQL更改(UPDATE、REPLACE、DELETE)- Parameters:
- sql- SQL语句内容
- params- SQL语句中 ? 的对应参数
- Returns:
- 更新的行数
- See Also:
- PreparedSQLUpdateAction
 
 - 
executeSQLBatch@Nullable @Nullable java.util.List<java.lang.Integer> executeSQLBatch(java.lang.String sql, java.lang.Iterable<java.lang.Object[]> paramsBatch)执行多条不需要返回结果的SQL更改(UPDATE、REPLACE、DELETE)- Parameters:
- sql- SQL语句内容
- paramsBatch- SQL语句中对应?的参数组
- Returns:
- 对应参数返回的行数
- See Also:
- PreparedSQLUpdateBatchAction
 
 - 
executeSQLBatch@Nullable @Nullable java.util.List<java.lang.Integer> executeSQLBatch(@NotNull @NotNull java.lang.String sql, java.lang.String... moreSQL)执行多条不需要返回结果的SQL。 该方法使用 Statement 实现,请注意SQL注入风险!- Parameters:
- sql- SQL语句内容
- moreSQL- 更多SQL语句内容
- Returns:
- 对应参数返回的行数
- See Also:
- SQLUpdateBatchAction
 
 - 
executeSQLBatch@Nullable @Nullable java.util.List<java.lang.Integer> executeSQLBatch(@NotNull @NotNull java.lang.Iterable<java.lang.String> sqlBatch)执行多条不需要返回结果的SQL。- Parameters:
- sqlBatch- SQL语句内容
- Returns:
- 对应参数返回的行数
 
 - 
fetchMetadatadefault <R> java.util.concurrent.CompletableFuture<R> fetchMetadata(@NotNull @NotNull SQLFunction<java.sql.DatabaseMetaData,R> reader)获取并操作DatabaseMetaData以得到需要的数据库消息。- Type Parameters:
- R- 最终结果的返回类型
- Parameters:
- reader- 操作与读取的方法
- Returns:
- 最终结果,通过 CompletableFuture.get()可阻塞并等待结果返回。
 
 - 
fetchMetadatadefault <R> java.util.concurrent.CompletableFuture<R> fetchMetadata(@NotNull @NotNull SQLFunction<java.sql.DatabaseMetaData,java.sql.ResultSet> supplier, @NotNull @NotNull SQLFunction<@NotNull java.sql.ResultSet,R> reader)获取并操作DatabaseMetaData提供的指定ResultSet以得到需要的数据库消息。
 该方法会自动关闭ResultSet。- Type Parameters:
- R- 最终结果的返回类型
- Parameters:
- supplier- 操作- DatabaseMetaData以提供信息所在的- ResultSet
- reader- 读取- ResultSet中指定信息的方法
- Returns:
- 最终结果,通过 CompletableFuture.get()可阻塞并等待结果返回。
- Throws:
- java.lang.NullPointerException- 当 supplier 提供的- ResultSet为NULL时抛出
 
 - 
fetchMetadata<R> java.util.concurrent.CompletableFuture<R> fetchMetadata(@NotNull @NotNull SQLBiFunction<java.sql.DatabaseMetaData,java.sql.Connection,R> reader)获取并操作DatabaseMetaData以得到需要的数据库消息。- Type Parameters:
- R- 最终结果的返回类型
- Parameters:
- reader- 操作与读取的方法
- Returns:
- 最终结果,通过 CompletableFuture.get()可阻塞并等待结果返回。
 
 - 
fetchMetadata<R> java.util.concurrent.CompletableFuture<R> fetchMetadata(@NotNull @NotNull SQLBiFunction<java.sql.DatabaseMetaData,java.sql.Connection,java.sql.ResultSet> supplier, @NotNull @NotNull SQLFunction<@NotNull java.sql.ResultSet,R> reader)获取并操作DatabaseMetaData提供的指定ResultSet以得到需要的数据库消息。
 该方法会自动关闭ResultSet。- Type Parameters:
- R- 最终结果的返回类型
- Parameters:
- supplier- 操作- DatabaseMetaData以提供信息所在的- ResultSet
- reader- 读取- ResultSet中指定信息的方法
- Returns:
- 最终结果,通过 CompletableFuture.get()可阻塞并等待结果返回。
- Throws:
- java.lang.NullPointerException- 当 supplier 提供的- ResultSet为NULL时抛出
 
 - 
createTableTableCreateBuilder createTable(@NotNull @NotNull java.lang.String tableName) 在库中创建一个表。- Parameters:
- tableName- 表名
- Returns:
- TableCreateBuilder
 
 - 
alterTableTableAlterBuilder alterTable(@NotNull @NotNull java.lang.String tableName) 对库中的某个表执行更改。- Parameters:
- tableName- 表名
- Returns:
- TableAlterBuilder
 
 - 
fetchTableMetadataTableMetadataBuilder fetchTableMetadata(@NotNull @NotNull java.lang.String tablePattern) 快速获取表的部分元数据。
 当需要获取其他元数据时,请使用fetchMetadata(SQLFunction, SQLFunction)方法。- Parameters:
- tablePattern- 表名通配符
- Returns:
- TableMetadataBuilder
 
 - 
createQueryQueryBuilder createQuery() 新建一个查询。- Returns:
- QueryBuilder
 
 - 
createInsertInsertBuilder<PreparedSQLUpdateAction<java.lang.Integer>> createInsert(@NotNull @NotNull java.lang.String tableName) 创建一条插入操作。- Parameters:
- tableName- 目标表名
- Returns:
- InsertBuilder
 
 - 
createInsertBatchInsertBuilder<PreparedSQLUpdateBatchAction<java.lang.Integer>> createInsertBatch(@NotNull @NotNull java.lang.String tableName) 创建支持多组数据的插入操作。- Parameters:
- tableName- 目标表名
- Returns:
- InsertBuilder
 
 - 
createReplaceReplaceBuilder<PreparedSQLUpdateAction<java.lang.Integer>> createReplace(@NotNull @NotNull java.lang.String tableName) 创建一条替换操作。- Parameters:
- tableName- 目标表名
- Returns:
- ReplaceBuilder
 
 - 
createReplaceBatchReplaceBuilder<PreparedSQLUpdateBatchAction<java.lang.Integer>> createReplaceBatch(@NotNull @NotNull java.lang.String tableName) 创建支持多组数据的替换操作。- Parameters:
- tableName- 目标表名
- Returns:
- ReplaceBuilder
 
 - 
createUpdateUpdateBuilder createUpdate(@NotNull @NotNull java.lang.String tableName) 创建更新操作。- Parameters:
- tableName- 目标表名
- Returns:
- UpdateBuilder
 
 - 
createDeleteDeleteBuilder createDelete(@NotNull @NotNull java.lang.String tableName) 创建删除操作。- Parameters:
- tableName- 目标表名
- Returns:
- DeleteBuilder
 
 
- 
 
-