, P extends PreparedSQLQueryAction> extends SQLBuilder {
/**
* 通过一条 SQL语句创建查询。
* 该方法使用 Statement 实现,请注意SQL注入风险!
*
* @param sql SQL语句
- * @return {@link QueryAction}
+ * @return {@link SQLQueryAction}
* @deprecated 存在SQL注入风险,建议使用 {@link QueryBuilder#withPreparedSQL(String)}
*/
@Deprecated
- QueryAction withSQL(@NotNull String sql);
+ @NotNull Q withSQL(@NotNull String sql);
/**
* 通过一条 SQL语句创建预查询
*
* @param sql SQL语句
- * @return {@link PreparedQueryAction}
+ * @return {@link PreparedSQLQueryAction}
*/
- PreparedQueryAction withPreparedSQL(@NotNull String sql);
+ @NotNull P withPreparedSQL(@NotNull String sql);
/**
* 创建表查询
@@ -32,6 +32,6 @@ public interface QueryBuilder extends SQLBuilder {
* @param tableName 表名
* @return {@link TableQueryBuilder}
*/
- TableQueryBuilder fromTable(@NotNull String tableName);
+ @NotNull TableQueryBuilder
fromTable(@NotNull String tableName);
}
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java b/api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java
index f480800..9022408 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java
@@ -1,6 +1,7 @@
package cc.carm.lib.easysql.api.builder;
-import cc.carm.lib.easysql.api.action.SQLAction;
+import cc.carm.lib.easysql.api.action.SQLBaseAction;
+import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import java.util.List;
@@ -10,15 +11,15 @@ import java.util.List;
*
执行后,将通过表中键判断该数据是否存在,若存在则用新数据替换原来的值,若不存在则会插入该数据。
*
在使用REPLACE时,表与所给行列数据中必须包含唯一索引(或主键),且索引不得为空值,否则将等同于插入语句。
*
- * @param 最终构建出的 {@link SQLAction} 类型
+ * @param 最终构建出的 {@link SQLBaseAction} 类型
*/
-public interface ReplaceBuilder> {
+public interface ReplaceBuilder> {
- String getTableName();
+ @NotNull String getTableName();
- T columns(List columnNames);
+ @NotNull T columns(List columnNames);
- default T columns(String... columnNames) {
+ default @NotNull T columns(String... columnNames) {
return columns(columnNames == null ? null : Arrays.asList(columnNames));
}
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/builder/TableAlterBuilder.java b/api/src/main/java/cc/carm/lib/easysql/api/builder/TableAlterBuilder.java
index be26085..cb0d2de 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/builder/TableAlterBuilder.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/builder/TableAlterBuilder.java
@@ -1,7 +1,7 @@
package cc.carm.lib.easysql.api.builder;
import cc.carm.lib.easysql.api.SQLBuilder;
-import cc.carm.lib.easysql.api.action.base.UpdateAction;
+import cc.carm.lib.easysql.api.action.SQLAdvancedAction;
import cc.carm.lib.easysql.api.enums.IndexType;
import cc.carm.lib.easysql.api.enums.NumberType;
import org.jetbrains.annotations.NotNull;
@@ -9,46 +9,46 @@ import org.jetbrains.annotations.Nullable;
public interface TableAlterBuilder extends SQLBuilder {
- SQLAction renameTo(@NotNull String newTableName);
+ @NotNull SQLAdvancedAction renameTo(@NotNull String newTableName);
- SQLAction changeComment(@NotNull String newTableComment);
+ @NotNull SQLAdvancedAction changeComment(@NotNull String newTableComment);
- SQLAction setAutoIncrementIndex(int index);
+ @NotNull SQLAdvancedAction setAutoIncrementIndex(int index);
- SQLAction addIndex(@NotNull IndexType indexType, @Nullable String indexName,
- @NotNull String columnName, @NotNull String... moreColumns);
+ @NotNull SQLAdvancedAction addIndex(@NotNull IndexType indexType, @Nullable String indexName,
+ @NotNull String columnName, @NotNull String... moreColumns);
/**
* 为该表移除一个索引
*
* @param indexName 索引名
- * @return {@link UpdateAction}
+ * @return {@link SQLAdvancedAction}
*/
- SQLAction dropIndex(@NotNull String indexName);
+ @NotNull SQLAdvancedAction dropIndex(@NotNull String indexName);
/**
* 为该表移除一个外键
*
* @param keySymbol 外键名
- * @return {@link UpdateAction}
+ * @return {@link SQLAdvancedAction}
*/
- SQLAction dropForeignKey(@NotNull String keySymbol);
+ @NotNull SQLAdvancedAction dropForeignKey(@NotNull String keySymbol);
/**
* 为该表移除主键(须添加新主键)
*
- * @return {@link UpdateAction}
+ * @return {@link SQLAdvancedAction}
*/
- SQLAction dropPrimaryKey();
+ @NotNull SQLAdvancedAction dropPrimaryKey();
/**
* 为表添加一列
*
* @param columnName 列名
* @param settings 列的相关设定
- * @return {@link UpdateAction}
+ * @return {@link SQLAdvancedAction}
*/
- default SQLAction addColumn(@NotNull String columnName, @NotNull String settings) {
+ default @NotNull SQLAdvancedAction addColumn(@NotNull String columnName, @NotNull String settings) {
return addColumn(columnName, settings, null);
}
@@ -60,23 +60,27 @@ public interface TableAlterBuilder extends SQLBuilder {
* @param afterColumn 该列增添到哪个列的后面,
* 该参数若省缺则放于最后一行
*
若为 "" 则置于首行。
- * @return {@link UpdateAction}
+ * @return {@link SQLAdvancedAction}
*/
- SQLAction addColumn(@NotNull String columnName, @NotNull String settings, @Nullable String afterColumn);
+ @NotNull SQLAdvancedAction addColumn(@NotNull String columnName,
+ @NotNull String settings,
+ @Nullable String afterColumn);
- SQLAction renameColumn(@NotNull String columnName, @NotNull String newName);
+ @NotNull SQLAdvancedAction renameColumn(@NotNull String columnName, @NotNull String newName);
- SQLAction modifyColumn(@NotNull String columnName, @NotNull String settings);
+ @NotNull SQLAdvancedAction modifyColumn(@NotNull String columnName, @NotNull String settings);
- default SQLAction modifyColumn(@NotNull String columnName, @NotNull String columnSettings, @NotNull String afterColumn) {
+ default @NotNull SQLAdvancedAction modifyColumn(@NotNull String columnName,
+ @NotNull String columnSettings,
+ @NotNull String afterColumn) {
return modifyColumn(columnName, columnSettings + " AFTER `" + afterColumn + "`");
}
- SQLAction removeColumn(@NotNull String columnName);
+ @NotNull SQLAdvancedAction removeColumn(@NotNull String columnName);
- SQLAction setColumnDefault(@NotNull String columnName, @NotNull String defaultValue);
+ @NotNull SQLAdvancedAction setColumnDefault(@NotNull String columnName, @NotNull String defaultValue);
- SQLAction removeColumnDefault(@NotNull String columnName);
+ @NotNull SQLAdvancedAction removeColumnDefault(@NotNull String columnName);
/**
* 为该表添加一个自增列
@@ -89,8 +93,9 @@ public interface TableAlterBuilder extends SQLBuilder {
* @param unsigned 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)
* @return {@link TableCreateBuilder}
*/
- default SQLAction addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType,
- boolean primary, boolean unsigned) {
+ default @NotNull SQLAdvancedAction addAutoIncrementColumn(@NotNull String columnName,
+ @Nullable NumberType numberType,
+ boolean primary, boolean unsigned) {
return addColumn(columnName,
(numberType == null ? NumberType.INT : numberType).name()
+ (unsigned ? " UNSIGNED " : " ")
@@ -108,7 +113,8 @@ public interface TableAlterBuilder extends SQLBuilder {
* @param numberType 数字类型,若省缺则为 {@link NumberType#INT}
* @return {@link TableAlterBuilder}
*/
- default SQLAction addAutoIncrementColumn(@NotNull String columnName, @NotNull NumberType numberType) {
+ default @NotNull SQLAdvancedAction addAutoIncrementColumn(@NotNull String columnName,
+ @NotNull NumberType numberType) {
return addAutoIncrementColumn(columnName, numberType, false, true);
}
@@ -121,7 +127,7 @@ public interface TableAlterBuilder extends SQLBuilder {
* @param columnName 列名
* @return {@link TableAlterBuilder}
*/
- default SQLAction addAutoIncrementColumn(@NotNull String columnName) {
+ default @NotNull SQLAdvancedAction addAutoIncrementColumn(@NotNull String columnName) {
return addAutoIncrementColumn(columnName, NumberType.INT);
}
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java b/api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java
index 170a71d..822b6bd 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java
@@ -1,7 +1,7 @@
package cc.carm.lib.easysql.api.builder;
import cc.carm.lib.easysql.api.SQLBuilder;
-import cc.carm.lib.easysql.api.action.base.UpdateAction;
+import cc.carm.lib.easysql.api.action.update.SQLUpdateAction;
import cc.carm.lib.easysql.api.enums.ForeignKeyRule;
import cc.carm.lib.easysql.api.enums.IndexType;
import cc.carm.lib.easysql.api.enums.NumberType;
@@ -19,9 +19,9 @@ public interface TableCreateBuilder extends SQLBuilder {
/**
* 将现有条件构建完整的SQL语句用于执行。
*
- * @return {@link UpdateAction}
+ * @return {@link SQLUpdateAction.Advanced}
*/
- UpdateAction build();
+ @NotNull SQLUpdateAction.Advanced build();
@NotNull String getTableName();
@@ -33,7 +33,7 @@ public interface TableCreateBuilder extends SQLBuilder {
*/
@NotNull String getTableSettings();
- TableCreateBuilder setTableSettings(@NotNull String settings);
+ @NotNull TableCreateBuilder setTableSettings(@NotNull String settings);
/**
* 设定表的标注,一般用于解释该表的作用。
@@ -41,7 +41,7 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param comment 表标注
* @return {@link TableCreateBuilder}
*/
- TableCreateBuilder setTableComment(@Nullable String comment);
+ @NotNull TableCreateBuilder setTableComment(@Nullable String comment);
/**
* 直接设定表的所有列信息
@@ -49,7 +49,7 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param columns 列的相关信息 (包括列设定)
* @return {@link TableCreateBuilder}
*/
- TableCreateBuilder setColumns(@NotNull String... columns);
+ @NotNull TableCreateBuilder setColumns(@NotNull String... columns);
/**
* 为该表添加一个列
@@ -58,7 +58,7 @@ public interface TableCreateBuilder extends SQLBuilder {
*
如 `uuid` VARCHAR(36) NOT NULL UNIQUE KEY
* @return {@link TableCreateBuilder}
*/
- TableCreateBuilder addColumn(@NotNull String column);
+ @NotNull TableCreateBuilder addColumn(@NotNull String column);
/**
* 为该表添加一个列
@@ -68,7 +68,7 @@ public interface TableCreateBuilder extends SQLBuilder {
*
如 VARCHAR(36) NOT NULL UNIQUE KEY
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings) {
+ default @NotNull TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings) {
Objects.requireNonNull(columnName, "columnName could not be null");
return addColumn(withBackQuote(columnName) + " " + settings);
}
@@ -82,7 +82,7 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param comments 列的注解,用于解释该列数据的作用
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings, @NotNull String comments) {
+ default @NotNull TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings, @NotNull String comments) {
return addColumn(columnName, settings + " COMMENT " + withQuote(comments));
}
@@ -97,8 +97,8 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param unsigned 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)
* @return {@link TableCreateBuilder}
*/
- TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType,
- boolean asPrimaryKey, boolean unsigned);
+ @NotNull TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, @Nullable NumberType numberType,
+ boolean asPrimaryKey, boolean unsigned);
/**
* 为该表添加一个INT类型的自增主键列
@@ -110,8 +110,8 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param unsigned 是否采用 UNSIGNED (即无负数,可以增加自增键的最高数,建议为true)
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName,
- boolean asPrimaryKey, boolean unsigned) {
+ default @NotNull TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName,
+ boolean asPrimaryKey, boolean unsigned) {
return addAutoIncrementColumn(columnName, NumberType.INT, asPrimaryKey, unsigned);
}
@@ -125,7 +125,7 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param asPrimaryKey 是否为主键,若为false则设定为唯一键
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, boolean asPrimaryKey) {
+ default @NotNull TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName, boolean asPrimaryKey) {
return addAutoIncrementColumn(columnName, asPrimaryKey, true);
}
@@ -137,7 +137,7 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param columnName 列名
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName) {
+ default @NotNull TableCreateBuilder addAutoIncrementColumn(@NotNull String columnName) {
return addAutoIncrementColumn(columnName, true);
}
@@ -152,8 +152,8 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param columnName 索引包含的列
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder setIndex(@NotNull String columnName,
- @NotNull IndexType type) {
+ default @NotNull TableCreateBuilder setIndex(@NotNull String columnName,
+ @NotNull IndexType type) {
return setIndex(type, null, columnName);
}
@@ -170,8 +170,8 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param moreColumns 联合索引需要包含的列
* @return {@link TableCreateBuilder}
*/
- TableCreateBuilder setIndex(@NotNull IndexType type, @Nullable String indexName,
- @NotNull String columnName, @NotNull String... moreColumns);
+ @NotNull TableCreateBuilder setIndex(@NotNull IndexType type, @Nullable String indexName,
+ @NotNull String columnName, @NotNull String... moreColumns);
/**
@@ -185,7 +185,7 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param foreignColumn 外键关联表中对应的关联列,必须为目标表的主键,即 {@link IndexType#PRIMARY_KEY}
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addForeignKey(@NotNull String tableColumn, @NotNull String foreignColumn) {
+ default @NotNull TableCreateBuilder addForeignKey(@NotNull String tableColumn, @NotNull String foreignColumn) {
return addForeignKey(tableColumn, getTableName(), foreignColumn);
}
@@ -203,8 +203,8 @@ public interface TableCreateBuilder extends SQLBuilder {
* 2. 数据类型必须和所要建立主键的列的数据类型相同。
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addForeignKey(@NotNull String tableColumn,
- @NotNull String foreignTable, @NotNull String foreignColumn) {
+ default @NotNull TableCreateBuilder addForeignKey(@NotNull String tableColumn,
+ @NotNull String foreignTable, @NotNull String foreignColumn) {
return addForeignKey(tableColumn, null, foreignTable, foreignColumn);
}
@@ -223,8 +223,8 @@ public interface TableCreateBuilder extends SQLBuilder {
*
2. 数据类型必须和所要建立主键的列的数据类型相同。
* @return {@link TableCreateBuilder}
*/
- default TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName,
- @NotNull String foreignTable, @NotNull String foreignColumn) {
+ default @NotNull TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName,
+ @NotNull String foreignTable, @NotNull String foreignColumn) {
return addForeignKey(tableColumn, constraintName, foreignTable, foreignColumn, null, null);
}
@@ -245,9 +245,9 @@ public interface TableCreateBuilder extends SQLBuilder {
* @param deleteRule 在外键被删除时采用的规则,缺省时默认为{@link ForeignKeyRule#RESTRICT}
* @return {@link TableCreateBuilder}
*/
- TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName,
- @NotNull String foreignTable, @NotNull String foreignColumn,
- @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule);
+ @NotNull TableCreateBuilder addForeignKey(@NotNull String tableColumn, @Nullable String constraintName,
+ @NotNull String foreignTable, @NotNull String foreignColumn,
+ @Nullable ForeignKeyRule updateRule, @Nullable ForeignKeyRule deleteRule);
default String defaultTablesSettings() {
return "ENGINE=InnoDB DEFAULT CHARSET=utf8";
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/builder/TableQueryBuilder.java b/api/src/main/java/cc/carm/lib/easysql/api/builder/TableQueryBuilder.java
index 7541f6a..6fa64b8 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/builder/TableQueryBuilder.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/builder/TableQueryBuilder.java
@@ -1,9 +1,10 @@
package cc.carm.lib.easysql.api.builder;
-import cc.carm.lib.easysql.api.action.base.PreparedQueryAction;
+import cc.carm.lib.easysql.api.action.query.PreparedSQLQueryAction;
import org.jetbrains.annotations.NotNull;
-public interface TableQueryBuilder extends ConditionalBuilder {
+public interface TableQueryBuilder>
+ extends ConditionalBuilder, B> {
@NotNull String getTableName();
@@ -13,7 +14,7 @@ public interface TableQueryBuilder extends ConditionalBuilder select(@NotNull String... columnNames);
/**
* 对结果进行排序
@@ -22,7 +23,7 @@ public interface TableQueryBuilder extends ConditionalBuilder orderBy(@NotNull String columnName, boolean asc);
/**
* 限制查询条数,用于分页查询。
@@ -32,6 +33,6 @@ public interface TableQueryBuilder extends ConditionalBuilder limit(int start, int end);
}
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/builder/UpdateBuilder.java b/api/src/main/java/cc/carm/lib/easysql/api/builder/UpdateBuilder.java
index 8540b25..48a907d 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/builder/UpdateBuilder.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/builder/UpdateBuilder.java
@@ -1,11 +1,13 @@
package cc.carm.lib.easysql.api.builder;
+import cc.carm.lib.easysql.api.action.update.PreparedSQLUpdateAction;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.LinkedHashMap;
-public interface UpdateBuilder extends ConditionalBuilder> {
+public interface UpdateBuilder>
+ extends ConditionalBuilder, B> {
String getTableName();
@@ -17,7 +19,7 @@ public interface UpdateBuilder extends ConditionalBuilder set(@NotNull String columnName, @Nullable Object columnValue);
/**
* 设定更新的全部字段值 (此操作会覆盖之前的设定)
@@ -26,7 +28,7 @@ public interface UpdateBuilder extends ConditionalBuilder columnData);
+ UpdateBuilder setAll(LinkedHashMap<@NotNull String, @Nullable Object> columnData);
/**
* 设定更新的全部字段值 (此操作会覆盖之前的设定)
@@ -36,7 +38,7 @@ public interface UpdateBuilder extends ConditionalBuilder setAll(@NotNull String[] columnNames, @Nullable Object[] columnValues);
/**
* 设定更新的全部字段值 (此操作会覆盖之前的设定)
@@ -47,9 +49,8 @@ public interface UpdateBuilder extends ConditionalBuilder setAll(@NotNull String columnName, @Nullable Object columnValue) {
return setAll(new String[]{columnName}, new Object[]{columnValue});
}
-
}
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java b/api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java
deleted file mode 100644
index 7759170..0000000
--- a/api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package cc.carm.lib.easysql.api.builder;
-
-/**
- * 存在则更新,不存在则插入。
- *
- * @see ReplaceBuilder
- */
-@Deprecated
-public interface UpsertBuilder {
-
- String getTableName();
-
- default UpsertBuilder setColumnNames(String[] columnNames, String updateColumn) {
- throw new UnsupportedOperationException("Please use REPLACE .");
- }
-
-}
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/function/SQLDebugHandler.java b/api/src/main/java/cc/carm/lib/easysql/api/function/SQLDebugHandler.java
index 036a4be..2cdc09e 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/function/SQLDebugHandler.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/function/SQLDebugHandler.java
@@ -1,7 +1,7 @@
package cc.carm.lib.easysql.api.function;
import cc.carm.lib.easysql.api.SQLQuery;
-import cc.carm.lib.easysql.api.action.SQLAction;
+import cc.carm.lib.easysql.api.action.SQLBaseAction;
import cc.carm.lib.easysql.api.action.base.PreparedBatchUpdateAction;
import cc.carm.lib.easysql.api.action.base.PreparedUpdateAction;
import org.jetbrains.annotations.NotNull;
@@ -14,19 +14,19 @@ import java.util.concurrent.TimeUnit;
/**
* 异常处理器。
- *
在使用 {@link SQLAction#execute(SQLExceptionHandler)} 等相关方法时,
+ *
在使用 {@link SQLBaseAction#execute(SQLExceptionHandler)} 等相关方法时,
* 如果发生异常,则会调用错误处理器进行错误内容的输出提示。
*/
public interface SQLDebugHandler {
/**
- * 该方法将在 {@link SQLAction#execute()} 执行前调用。
+ * 该方法将在 {@link SQLBaseAction#execute()} 执行前调用。
*
- * @param action {@link SQLAction} 对象
+ * @param action {@link SQLBaseAction} 对象
* @param params 执行传入的参数列表。
* 实际上,仅有 {@link PreparedUpdateAction} 和 {@link PreparedBatchUpdateAction} 才会有传入参数。
*/
- void beforeExecute(@NotNull SQLAction> action, @NotNull List<@Nullable Object[]> params);
+ void beforeExecute(@NotNull SQLBaseAction> action, @NotNull List<@Nullable Object[]> params);
/**
* 该方法将在 {@link SQLQuery#close()} 执行后调用。
@@ -54,7 +54,7 @@ public interface SQLDebugHandler {
return new SQLDebugHandler() {
@Override
- public void beforeExecute(@NotNull SQLAction> action, @NotNull List<@Nullable Object[]> params) {
+ public void beforeExecute(@NotNull SQLBaseAction> action, @NotNull List<@Nullable Object[]> params) {
logger.info("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
logger.info("┣# 操作编号: {}", action.getActionUUID());
logger.info("┣# 操作类型: {}", action.getClass().getSimpleName());
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/function/SQLExceptionHandler.java b/api/src/main/java/cc/carm/lib/easysql/api/function/SQLExceptionHandler.java
index fdd9d26..4445746 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/function/SQLExceptionHandler.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/function/SQLExceptionHandler.java
@@ -1,6 +1,7 @@
package cc.carm.lib.easysql.api.function;
-import cc.carm.lib.easysql.api.action.SQLAction;
+import cc.carm.lib.easysql.api.action.SQLAdvancedAction;
+import cc.carm.lib.easysql.api.action.SQLBaseAction;
import org.slf4j.Logger;
import java.sql.SQLException;
@@ -8,11 +9,11 @@ import java.util.function.BiConsumer;
/**
* 异常处理器。
- *
在使用 {@link SQLAction#execute(SQLExceptionHandler)} 等相关方法时,
+ *
在使用 {@link SQLAdvancedAction#execute(SQLExceptionHandler)} 等相关方法时,
* 如果发生异常,则会调用错误处理器进行错误内容的输出提示。
*/
@FunctionalInterface
-public interface SQLExceptionHandler extends BiConsumer> {
+public interface SQLExceptionHandler extends BiConsumer> {
/**
* 默认的异常处理器,将详细的输出相关错误与错误来源。
diff --git a/api/src/main/java/cc/carm/lib/easysql/api/table/SQLTable.java b/api/src/main/java/cc/carm/lib/easysql/api/table/SQLTable.java
index 95a1205..511f461 100644
--- a/api/src/main/java/cc/carm/lib/easysql/api/table/SQLTable.java
+++ b/api/src/main/java/cc/carm/lib/easysql/api/table/SQLTable.java
@@ -1,8 +1,8 @@
package cc.carm.lib.easysql.api.table;
import cc.carm.lib.easysql.api.SQLManager;
-import cc.carm.lib.easysql.api.action.asyncable.AsyncablePreparedBatchUpdateAction;
-import cc.carm.lib.easysql.api.action.asyncable.AsyncablePreparedUpdateAction;
+import cc.carm.lib.easysql.api.action.update.PreparedSQLBatchUpdateAction;
+import cc.carm.lib.easysql.api.action.update.PreparedSQLUpdateAction;
import cc.carm.lib.easysql.api.builder.*;
import cc.carm.lib.easysql.api.function.SQLHandler;
import org.jetbrains.annotations.NotNull;
@@ -100,40 +100,40 @@ public interface SQLTable {
return sqlManager.updateInto(getTableName());
}
- default @NotNull InsertBuilder> createInsert() {
+ default @NotNull InsertBuilder> createInsert() {
return Optional.ofNullable(getSQLManager()).map(this::createInsert)
.orElseThrow(() -> new NullPointerException("This table doesn't have a SQLManger."));
}
- default @NotNull InsertBuilder> createInsert(@NotNull SQLManager sqlManager) {
+ default @NotNull InsertBuilder> createInsert(@NotNull SQLManager sqlManager) {
return sqlManager.insertInto(getTableName());
}
- default @NotNull InsertBuilder> createInsertBatch() {
+ default @NotNull InsertBuilder> createInsertBatch() {
return Optional.ofNullable(getSQLManager()).map(this::createInsertBatch)
.orElseThrow(() -> new NullPointerException("This table doesn't have a SQLManger."));
}
- default @NotNull InsertBuilder> createInsertBatch(@NotNull SQLManager sqlManager) {
+ default @NotNull InsertBuilder