diff --git a/easysql-api/pom.xml b/easysql-api/pom.xml index 0a02aa7..48e0424 100644 --- a/easysql-api/pom.xml +++ b/easysql-api/pom.xml @@ -5,7 +5,7 @@ cc.carm.lib easysql-parent - 0.2.1 + 0.2.2-SNAPSHOT 4.0.0 diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLAction.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLAction.java index 9049216..f764077 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLAction.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/SQLAction.java @@ -138,6 +138,7 @@ public interface SQLAction { return (exception, action) -> { getManager().getLogger().severe("Error when execute [" + action.getSQLContent() + "]"); getManager().getLogger().severe(exception.getLocalizedMessage()); + exception.printStackTrace(); }; } 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 b585cf8..c79fe64 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 @@ -2,6 +2,10 @@ package cc.carm.lib.easysql.api.action; import cc.carm.lib.easysql.api.SQLAction; +import java.sql.SQLException; +import java.util.List; +import java.util.function.BiConsumer; + public interface SQLUpdateAction extends SQLAction { /** @@ -23,4 +27,6 @@ public interface SQLUpdateAction extends SQLAction { return setKeyIndex(-1); // will return changed lines number } + + } diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateBatchAction.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateBatchAction.java index 3b92b1f..1296025 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateBatchAction.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/action/SQLUpdateBatchAction.java @@ -3,7 +3,9 @@ package cc.carm.lib.easysql.api.action; import cc.carm.lib.easysql.api.SQLAction; import org.jetbrains.annotations.NotNull; +import java.sql.SQLException; import java.util.List; +import java.util.function.BiConsumer; public interface SQLUpdateBatchAction extends SQLAction> { @@ -15,4 +17,20 @@ public interface SQLUpdateBatchAction extends SQLAction> { */ SQLUpdateBatchAction addBatch(@NotNull String sql); + List getSQLContents(); + + @Override + default BiConsumer>> defaultExceptionHandler() { + return (exception, action) -> { + getManager().getLogger().severe("Error when execute SQLs : "); + int i = 1; + for (String content : getSQLContents()) { + getManager().getLogger().severe("#" + i + " [" + content + "]"); + i++; + } + getManager().getLogger().severe(exception.getLocalizedMessage()); + exception.printStackTrace(); + }; + } + } diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ConditionalBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ConditionalBuilder.java index 163f351..3743c02 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ConditionalBuilder.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ConditionalBuilder.java @@ -28,7 +28,7 @@ public interface ConditionalBuilder extends SQLBuilder { ConditionalBuilder addCondition(@NotNull String[] queryNames, @Nullable Object[] queryValues); ConditionalBuilder addNotNullCondition(@NotNull String queryName); - + default ConditionalBuilder addTimeCondition(@NotNull String queryName, long startMillis, long endMillis) { return addTimeCondition(queryName, startMillis > 0 ? new Date(startMillis) : null, diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/InsertBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/InsertBuilder.java index 61de664..46c0b5a 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/InsertBuilder.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/InsertBuilder.java @@ -7,8 +7,6 @@ public interface InsertBuilder { String getTableName(); - InsertBuilder setTableName(String tableName); - T setColumnNames(List columnNames); default T setColumnNames(String... columnNames) { diff --git a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java index 3e3d8d2..c01857e 100644 --- a/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java +++ b/easysql-api/src/main/java/cc/carm/lib/easysql/api/builder/ReplaceBuilder.java @@ -7,8 +7,6 @@ public interface ReplaceBuilder { String getTableName(); - ReplaceBuilder setTableName(String tableName); - T setColumnNames(List columnNames); default T setColumnNames(String... columnNames) { 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 d630f54..4af1d34 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,8 +8,6 @@ public interface TableCreateBuilder extends SQLBuilder { @NotNull String getTableName(); - TableCreateBuilder setTableName(@NotNull String tableName); - @NotNull String getTableSettings(); TableCreateBuilder setTableSettings(@NotNull String settings); 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 a2fcc43..cba0903 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 @@ -1,4 +1,9 @@ package cc.carm.lib.easysql.api.builder; public interface UpsertBuilder { + + String getTableName(); + + UpsertBuilder setColumnNames(String[] columnNames, String updateColumn); + } diff --git a/easysql-beecp/pom.xml b/easysql-beecp/pom.xml index c4ae389..a0358e5 100644 --- a/easysql-beecp/pom.xml +++ b/easysql-beecp/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.2.1 + 0.2.2-SNAPSHOT 4.0.0 diff --git a/easysql-demo/pom.xml b/easysql-demo/pom.xml index bf659a4..f0d6b5d 100644 --- a/easysql-demo/pom.xml +++ b/easysql-demo/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.2.1 + 0.2.2-SNAPSHOT 4.0.0 diff --git a/easysql-hikaricp/pom.xml b/easysql-hikaricp/pom.xml index c3ac0d1..eae8365 100644 --- a/easysql-hikaricp/pom.xml +++ b/easysql-hikaricp/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.2.1 + 0.2.2-SNAPSHOT 4.0.0 @@ -65,7 +65,7 @@ com.zaxxer HikariCP - 4.0.3 + 5.0.0 compile diff --git a/easysql-impl/pom.xml b/easysql-impl/pom.xml index 8beb8e6..2ce1fde 100644 --- a/easysql-impl/pom.xml +++ b/easysql-impl/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.2.1 + 0.2.2-SNAPSHOT 4.0.0 diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java index 72bd52a..412361e 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java @@ -12,10 +12,9 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.function.Consumer; import java.util.stream.Collectors; -public class PreparedSQLBatchUpdateActionImpl extends SQLUpdateBatchActionImpl implements PreparedSQLUpdateBatchAction { +public class PreparedSQLBatchUpdateActionImpl extends AbstractSQLAction> implements PreparedSQLUpdateBatchAction { int keyIndex = -1; List allParams; @@ -54,6 +53,7 @@ public class PreparedSQLBatchUpdateActionImpl extends SQLUpdateBatchActionImpl i ); outputDebugMessage(); if (keyIndex > 0) { + statement.executeBatch(); List generatedKeys = new ArrayList<>(); ResultSet resultSet = statement.getGeneratedKeys(); if (resultSet != null) { diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLUpdateActionImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLUpdateActionImpl.java index cc7d3a8..4eff1f5 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLUpdateActionImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLUpdateActionImpl.java @@ -59,13 +59,14 @@ public class PreparedSQLUpdateActionImpl extends SQLUpdateActionImpl implements ); outputDebugMessage(); if (keyIndex > 0) { + statement.executeUpdate(); ResultSet resultSet = statement.getGeneratedKeys(); if (resultSet != null) { if (resultSet.next()) value = resultSet.getInt(keyIndex); resultSet.close(); } } else { - value = statement.executeUpdate(getSQLContent()); + value = statement.executeUpdate(); } statement.close(); diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateActionImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateActionImpl.java index abc68b8..4f31ddd 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateActionImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/action/SQLUpdateActionImpl.java @@ -8,7 +8,6 @@ import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; -import java.util.function.Consumer; public class SQLUpdateActionImpl extends AbstractSQLAction implements SQLUpdateAction { 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 516cd04..6b3d875 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 @@ -23,9 +23,12 @@ public class SQLUpdateBatchActionImpl extends AbstractSQLAction> i @Override public @NotNull String getSQLContent() { - return this.sqlContents.stream() - .map(content -> "[" + content + "]" + " ") - .collect(Collectors.joining()); + return this.sqlContents.get(0); + } + + @Override + public @NotNull List getSQLContents() { + return this.sqlContents; } @Override @@ -50,5 +53,4 @@ public class SQLUpdateBatchActionImpl extends AbstractSQLAction> i return returnedValues; } - } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java index 80f3aa6..cac269d 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/InsertBuilderImpl.java @@ -43,9 +43,4 @@ public abstract class InsertBuilderImpl extends AbstractSQLBuilder implements public String getTableName() { return tableName; } - - public InsertBuilderImpl setTableName(String tableName) { - this.tableName = tableName; - return this; - } } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java index 91a7eb8..363fd09 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/ReplaceBuilderImpl.java @@ -43,9 +43,4 @@ public abstract class ReplaceBuilderImpl extends AbstractSQLBuilder implement public String getTableName() { return tableName; } - - public ReplaceBuilderImpl setTableName(String tableName) { - this.tableName = tableName; - return this; - } } diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java index a1b0c99..12aa8e5 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/builder/impl/TableCreateBuilderImpl.java @@ -50,12 +50,6 @@ public class TableCreateBuilderImpl extends AbstractSQLBuilder implements TableC return new SQLUpdateActionImpl(getManager(), createSQL.toString()); } - @Override - public TableCreateBuilder setTableName(@NotNull String tableName) { - this.tableName = tableName; - return this; - } - @Override public TableCreateBuilder addColumn(@NotNull String column) { this.columns.add(column); 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 0ad8fae..600c287 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 @@ -15,7 +15,6 @@ public class TableQueryBuilderImpl @NotNull String tableName; - ArrayList params = new ArrayList<>(); String[] columns; @Nullable String orderBy; @@ -49,7 +48,7 @@ public class TableQueryBuilderImpl if (orderBy != null) sqlBuilder.append(orderBy); return new PreparedQueryActionImpl(getManager(), sqlBuilder.toString()) - .setParams(hasConditionParams() ? params : null); + .setParams(hasConditionParams() ? getConditionParams() : null); } @Override diff --git a/easysql-impl/src/main/java/cc/carm/lib/easysql/util/StatementUtil.java b/easysql-impl/src/main/java/cc/carm/lib/easysql/util/StatementUtil.java index a9baaf5..0596a7e 100644 --- a/easysql-impl/src/main/java/cc/carm/lib/easysql/util/StatementUtil.java +++ b/easysql-impl/src/main/java/cc/carm/lib/easysql/util/StatementUtil.java @@ -1,7 +1,5 @@ package cc.carm.lib.easysql.util; -import cc.carm.lib.easysql.api.SQLAction; - import java.math.BigDecimal; import java.math.BigInteger; import java.sql.*; @@ -40,10 +38,9 @@ public class StatementUtil { ) throws SQLException { sql = sql.trim(); PreparedStatement statement = connection.prepareStatement(sql, returnGeneratedKey ? Statement.RETURN_GENERATED_KEYS : Statement.NO_GENERATED_KEYS); - final Map nullTypeMap = new HashMap<>(); - if (params != null) { - fillParams(statement, Arrays.asList(params), nullTypeMap); - } + Map nullTypeMap = new HashMap<>(); + if (params != null) fillParams(statement, Arrays.asList(params), nullTypeMap); + statement.addBatch(); return statement; } @@ -76,7 +73,7 @@ public class StatementUtil { sql = sql.trim(); PreparedStatement statement = connection.prepareStatement(sql, returnGeneratedKey ? Statement.RETURN_GENERATED_KEYS : Statement.NO_GENERATED_KEYS); - final Map nullTypeMap = new HashMap<>(); + Map nullTypeMap = new HashMap<>(); for (Object[] params : paramsBatch) { fillParams(statement, Arrays.asList(params), nullTypeMap); statement.addBatch(); diff --git a/pom.xml b/pom.xml index e969938..0e1a3ee 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ cc.carm.lib easysql-parent pom - 0.2.1 + 0.2.2-SNAPSHOT easysql-api @@ -126,20 +126,20 @@ org.apache.maven.plugins maven-surefire-plugin - - org.apache.maven.plugins - maven-gpg-plugin - 1.5 - - - sign-artifacts - verify - - sign - - - - + + + + + + + + + + + + + +