diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateAction.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateAction.java index afef907..92ac3dc 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateAction.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateAction.java @@ -29,7 +29,7 @@ public interface SQLUpdateAction extends SQLAction { /** * 设定该操作是否返回自增键序列。 - * + * @param returnGeneratedKey 是否返回自增键序列 * @return {@link SQLUpdateAction} */ diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java index bbad0c6..da273e8 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/TableCreateBuilder.java @@ -8,6 +8,8 @@ import cc.carm.lib.easysql.api.enums.NumberType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; import static cc.carm.lib.easysql.api.SQLBuilder.withQuote; @@ -67,6 +69,7 @@ public interface TableCreateBuilder extends SQLBuilder { * @return {@link TableCreateBuilder} */ default TableCreateBuilder addColumn(@NotNull String columnName, @NotNull String settings) { + Objects.requireNonNull(columnName, "columnName could not be null"); return addColumn(withBackQuote(columnName) + " " + settings); } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java index ca7aafd..e3c822b 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateBatchActionImpl.java @@ -10,6 +10,7 @@ import java.sql.Statement; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; public class SQLUpdateBatchActionImpl @@ -30,6 +31,7 @@ public class SQLUpdateBatchActionImpl @Override public SQLUpdateBatchAction addBatch(@NotNull String sql) { + Objects.requireNonNull(sql, "sql could not be null"); this.sqlContents.add(sql); return this; } 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 ca69018..fff5d24 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 @@ -9,139 +9,139 @@ import org.jetbrains.annotations.Nullable; import java.sql.Time; import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.LinkedHashMap; +import java.util.*; import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; public abstract class AbstractConditionalBuilder, T extends SQLAction> - extends AbstractSQLBuilder implements ConditionalBuilder { + extends AbstractSQLBuilder implements ConditionalBuilder { - ArrayList conditionSQLs = new ArrayList<>(); - ArrayList conditionParams = new ArrayList<>(); - int limit = -1; + ArrayList conditionSQLs = new ArrayList<>(); + ArrayList conditionParams = new ArrayList<>(); + int limit = -1; - public AbstractConditionalBuilder(@NotNull SQLManagerImpl manager) { - super(manager); - } + public AbstractConditionalBuilder(@NotNull SQLManagerImpl manager) { + super(manager); + } - protected abstract B getThis(); + protected abstract B getThis(); - @Override - public B setConditions(@Nullable String condition) { - this.conditionSQLs = new ArrayList<>(); - this.conditionParams = new ArrayList<>(); - if (condition != null) this.conditionSQLs.add(condition); - return getThis(); - } + @Override + public B setConditions(@Nullable String condition) { + this.conditionSQLs = new ArrayList<>(); + this.conditionParams = new ArrayList<>(); + if (condition != null) this.conditionSQLs.add(condition); + return getThis(); + } - @Override - public B setConditions( - LinkedHashMap<@NotNull String, @Nullable Object> conditions - ) { - conditions.forEach(this::addCondition); - return getThis(); - } + @Override + public B setConditions( + LinkedHashMap<@NotNull String, @Nullable Object> conditions + ) { + conditions.forEach(this::addCondition); + return getThis(); + } - @Override - public B addCondition(@Nullable String condition) { - this.conditionSQLs.add(condition); - return getThis(); - } + @Override + public B addCondition(@Nullable String condition) { + this.conditionSQLs.add(condition); + return getThis(); + } - @Override - public B addCondition( - @NotNull String columnName, @NotNull String operator, @Nullable Object queryValue - ) { - addCondition(withBackQuote(columnName) + " " + operator + " ?"); - this.conditionParams.add(queryValue); - return getThis(); - } + @Override + public B addCondition( + @NotNull String columnName, @NotNull String operator, @Nullable Object queryValue + ) { + Objects.requireNonNull(columnName, "columnName could not be null"); + addCondition(withBackQuote(columnName) + " " + operator + " ?"); + this.conditionParams.add(queryValue); + return getThis(); + } - @Override - public B addCondition( - @NotNull String[] columnNames, @Nullable Object[] queryValues - ) { - if (queryValues == null || columnNames.length != queryValues.length) { - throw new RuntimeException("queryNames are not match with queryValues"); - } - for (int i = 0; i < columnNames.length; i++) { - addCondition(columnNames[i], queryValues[i]); - } - return getThis(); - } + @Override + public B addCondition( + @NotNull String[] columnNames, @Nullable Object[] queryValues + ) { + if (queryValues == null || columnNames.length != queryValues.length) { + throw new RuntimeException("queryNames are not match with queryValues"); + } + for (int i = 0; i < columnNames.length; i++) { + addCondition(columnNames[i], queryValues[i]); + } + return getThis(); + } - @Override - public B addNotNullCondition(@NotNull String columnName) { - return addCondition(withBackQuote(columnName) + " IS NOT NULL"); - } + @Override + public B addNotNullCondition(@NotNull String columnName) { + Objects.requireNonNull(columnName, "columnName could not be null"); + return addCondition(withBackQuote(columnName) + " IS NOT NULL"); + } - @Override - public B addTimeCondition( - @NotNull String columnName, @Nullable Date startDate, @Nullable Date endDate - ) { - if (startDate == null && endDate == null) return getThis(); // 都不限定时间,不用判断了 - if (startDate != null) { - addCondition(withBackQuote(columnName) + " BETWEEN ? AND ?"); - this.conditionParams.add(startDate); - if (endDate != null) { - this.conditionParams.add(endDate); - } else { - if (startDate instanceof java.sql.Date) { - this.conditionParams.add(new java.sql.Date(System.currentTimeMillis())); - } else if (startDate instanceof Time) { - this.conditionParams.add(new Time(System.currentTimeMillis())); - } else { - this.conditionParams.add(new Timestamp(System.currentTimeMillis())); - } - } - } else { - addCondition(columnName, "<=", endDate); - } - return getThis(); - } + @Override + public B addTimeCondition( + @NotNull String columnName, @Nullable Date startDate, @Nullable Date endDate + ) { + Objects.requireNonNull(columnName, "columnName could not be null"); + if (startDate == null && endDate == null) return getThis(); // 都不限定时间,不用判断了 + if (startDate != null) { + addCondition(withBackQuote(columnName) + " BETWEEN ? AND ?"); + this.conditionParams.add(startDate); + if (endDate != null) { + this.conditionParams.add(endDate); + } else { + if (startDate instanceof java.sql.Date) { + this.conditionParams.add(new java.sql.Date(System.currentTimeMillis())); + } else if (startDate instanceof Time) { + this.conditionParams.add(new Time(System.currentTimeMillis())); + } else { + this.conditionParams.add(new Timestamp(System.currentTimeMillis())); + } + } + } else { + addCondition(columnName, "<=", endDate); + } + return getThis(); + } - @Override - public B setLimit(int limit) { - this.limit = limit; - return getThis(); - } + @Override + public B setLimit(int limit) { + this.limit = limit; + return getThis(); + } - protected String buildConditionSQL() { + protected String buildConditionSQL() { - if (!conditionSQLs.isEmpty()) { - StringBuilder conditionBuilder = new StringBuilder(); - conditionBuilder.append("WHERE").append(" "); - Iterator iterator = conditionSQLs.iterator(); - while (iterator.hasNext()) { - conditionBuilder.append(iterator.next()); - if (iterator.hasNext()) conditionBuilder.append(" AND "); - } - return conditionBuilder.toString().trim(); - } else { - return null; - } + if (!conditionSQLs.isEmpty()) { + StringBuilder conditionBuilder = new StringBuilder(); + conditionBuilder.append("WHERE").append(" "); + Iterator iterator = conditionSQLs.iterator(); + while (iterator.hasNext()) { + conditionBuilder.append(iterator.next()); + if (iterator.hasNext()) conditionBuilder.append(" AND "); + } + return conditionBuilder.toString().trim(); + } else { + return null; + } - } + } - protected String buildLimitSQL() { - return limit > 0 ? "LIMIT " + limit : ""; - } + protected String buildLimitSQL() { + return limit > 0 ? "LIMIT " + limit : ""; + } - protected ArrayList getConditionParams() { - return conditionParams; - } + protected ArrayList getConditionParams() { + return conditionParams; + } - protected boolean hasConditions() { - return this.conditionSQLs != null && !this.conditionSQLs.isEmpty(); - } + protected boolean hasConditions() { + return this.conditionSQLs != null && !this.conditionSQLs.isEmpty(); + } - protected boolean hasConditionParams() { - return hasConditions() && getConditionParams() != null && !getConditionParams().isEmpty(); - } + protected boolean hasConditionParams() { + return hasConditions() && getConditionParams() != null && !getConditionParams().isEmpty(); + } } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/QueryBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/QueryBuilderImpl.java index 580d06a..a266fa4 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/QueryBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/QueryBuilderImpl.java @@ -10,6 +10,8 @@ import cc.carm.lib.easysql.builder.AbstractSQLBuilder; import cc.carm.lib.easysql.manager.SQLManagerImpl; import org.jetbrains.annotations.NotNull; +import java.util.Objects; + public class QueryBuilderImpl extends AbstractSQLBuilder implements QueryBuilder { public QueryBuilderImpl(@NotNull SQLManagerImpl manager) { super(manager); @@ -18,16 +20,19 @@ public class QueryBuilderImpl extends AbstractSQLBuilder implements QueryBuilder @Override @Deprecated public QueryAction withSQL(@NotNull String sql) { + Objects.requireNonNull(sql, "sql could not be null"); return new QueryActionImpl(getManager(), sql); } @Override public PreparedQueryAction withPreparedSQL(@NotNull String sql) { + Objects.requireNonNull(sql, "sql could not be null"); return new PreparedQueryActionImpl(getManager(), sql); } @Override public TableQueryBuilder inTable(@NotNull String tableName) { + Objects.requireNonNull(tableName, "tableName could not be null"); return new TableQueryBuilderImpl(getManager(), tableName); } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java index 0e9c3aa..4039b66 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableAlterBuilderImpl.java @@ -9,6 +9,8 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; import static cc.carm.lib.easysql.api.SQLBuilder.withQuote; @@ -27,6 +29,7 @@ public class TableAlterBuilderImpl extends AbstractSQLBuilder implements TableAl @Override public SQLAction renameTo(@NotNull String newTableName) { + Objects.requireNonNull(newTableName, "table name could not be null"); return new SQLUpdateActionImpl(getManager(), "ALTER TABLE " + withBackQuote(getTableName()) + " RENAME TO " + withBackQuote(newTableName) + "" ); diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java index b23d811..17c697b 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableQueryBuilderImpl.java @@ -7,6 +7,8 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Objects; + import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; public class TableQueryBuilderImpl @@ -72,6 +74,7 @@ public class TableQueryBuilderImpl @Override public TableQueryBuilder orderBy(@NotNull String columnName, boolean asc) { + Objects.requireNonNull(columnName, "columnName could not be null"); this.orderBy = "ORDER BY " + withBackQuote(columnName) + " " + (asc ? "ASC" : "DESC"); return this; } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java index c20fe2f..09441ff 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/UpdateBuilderImpl.java @@ -8,10 +8,7 @@ import cc.carm.lib.easysql.manager.SQLManagerImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; +import java.util.*; import static cc.carm.lib.easysql.api.SQLBuilder.withBackQuote; @@ -60,6 +57,7 @@ public class UpdateBuilderImpl @Override public UpdateBuilder addColumnValue(@NotNull String columnName, Object columnValue) { + Objects.requireNonNull(columnName, "columnName could not be null"); this.columnData.put(columnName, columnValue); return this; } @@ -72,6 +70,7 @@ public class UpdateBuilderImpl @Override public UpdateBuilder setColumnValues(@NotNull String[] columnNames, @Nullable Object[] columnValues) { + Objects.requireNonNull(columnNames, "columnName could not be null"); if (columnNames.length != columnValues.length) { throw new RuntimeException("columnNames are not match with columnValues"); }