columnData);
+ /**
+ * 添加一条需要更新的字段名与值
+ *
+ * @param columnName 字段名
+ * @param columnValue 字段名对应的值
+ * @return {@link UpdateBuilder}
+ * @since 0.3.7
+ */
+ UpdateBuilder addColumnValue(@NotNull String columnName, @Nullable Object columnValue);
- UpdateBuilder setColumnValues(String[] columnNames, Object[] columnValues);
+ /**
+ * 设定更新的全部字段值 (此操作会覆盖之前的设定)
+ * 此操作会覆盖之前的设定
+ *
+ * @param columnData 字段名和值的键值对
+ * @return {@link UpdateBuilder}
+ */
+ UpdateBuilder setColumnValues(LinkedHashMap<@NotNull String, @Nullable Object> columnData);
- default UpdateBuilder setColumnValues(String columnName, Object columnValue) {
- return setColumnValues(new String[]{columnName}, new Object[]{columnValue});
- }
+ /**
+ * 设定更新的全部字段值 (此操作会覆盖之前的设定)
+ *
此操作会覆盖之前的设定
+ *
+ * @param columnNames 字段名
+ * @param columnValues 字段名对应的值
+ * @return {@link UpdateBuilder}
+ */
+ UpdateBuilder setColumnValues(@NotNull String[] columnNames, @Nullable Object[] columnValues);
+
+ /**
+ * 设定更新的全部字段值 (此操作会覆盖之前的设定)
+ *
如需同时更新多条字段,请使用 {@link #setColumnValues(String[], Object[])} 或 {@link #setColumnValues(LinkedHashMap)}
+ *
也可以使用 {@link #addColumnValue(String, Object)} 一条条的添加字段
+ *
+ * @param columnName 字段名
+ * @param columnValue 字段名对应的值
+ * @return {@link UpdateBuilder}
+ */
+ default UpdateBuilder setColumnValues(@NotNull String columnName, @Nullable Object columnValue) {
+ return setColumnValues(new String[]{columnName}, new Object[]{columnValue});
+ }
}
diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java
index b7a2ed0..7759170 100644
--- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java
+++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/UpsertBuilder.java
@@ -8,8 +8,10 @@ package cc.carm.lib.easysql.api.builder;
@Deprecated
public interface UpsertBuilder {
- String getTableName();
+ String getTableName();
- UpsertBuilder setColumnNames(String[] columnNames, String updateColumn);
+ default UpsertBuilder setColumnNames(String[] columnNames, String updateColumn) {
+ throw new UnsupportedOperationException("Please use REPLACE .");
+ }
}
diff --git a/easysql-impl/pom.xml b/easysql-impl/pom.xml
index be0576c..2d17f17 100644
--- a/easysql-impl/pom.xml
+++ b/easysql-impl/pom.xml
@@ -5,7 +5,7 @@
easysql-parent
cc.carm.lib
- 0.3.6
+ 0.3.7
4.0.0
diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java
index c96fd45..ca69018 100644
--- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java
+++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/AbstractConditionalBuilder.java
@@ -53,40 +53,40 @@ public abstract class AbstractConditionalBuilder>
- implements UpdateBuilder {
+ extends AbstractConditionalBuilder>
+ implements UpdateBuilder {
- String tableName;
+ String tableName;
- List columnNames;
- List