diff --git a/api/pom.xml b/api/pom.xml index 5ddac05..0786e86 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -5,7 +5,7 @@ cc.carm.lib easysql-parent - 0.3.12 + 0.3.13 4.0.0 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 0a5cf8a..d3d2600 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 @@ -5,6 +5,7 @@ import cc.carm.lib.easysql.api.SQLQuery; import cc.carm.lib.easysql.api.action.PreparedSQLUpdateAction; import cc.carm.lib.easysql.api.action.PreparedSQLUpdateBatchAction; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import java.util.Arrays; @@ -24,7 +25,7 @@ public interface SQLDebugHandler { * @param params 执行传入的参数列表。 * 实际上,仅有 {@link PreparedSQLUpdateAction} 和 {@link PreparedSQLUpdateBatchAction} 才会有传入参数。 */ - void beforeExecute(@NotNull SQLAction action, @NotNull List params); + void beforeExecute(@NotNull SQLAction action, @NotNull List<@Nullable Object[]> params); /** * 该方法将在 {@link SQLQuery#close()} 执行后调用。 @@ -39,7 +40,7 @@ public interface SQLDebugHandler { static SQLDebugHandler defaultHandler(Logger logger) { return new SQLDebugHandler() { @Override - public void beforeExecute(@NotNull SQLAction action, @NotNull List params) { + public void beforeExecute(@NotNull SQLAction action, @NotNull List<@Nullable Object[]> params) { logger.info("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"); logger.info("┣# ActionUUID: {}", action.getActionUUID()); logger.info("┣# ActionType: {}", action.getClass().getName()); @@ -54,12 +55,18 @@ public interface SQLDebugHandler { } if (params.size() == 1) { Object[] param = params.get(0); - logger.info("┣# SQLParams({}): {}", param.length, Arrays.stream(param).map(Object::toString).reduce((a, b) -> a + ", " + b).orElse("")); + if (param != null) { + logger.info("┣# SQLParams({}): {}", param.length, Arrays.stream(param).map(Object::toString).reduce((a, b) -> a + ", " + b).orElse("")); + } } else if (params.size() > 1) { logger.info("┣# SQLParams: "); int i = 0; for (Object[] param : params) { - logger.info("┃ [{}] {}", ++i, Arrays.stream(param).map(Object::toString).reduce((a, b) -> a + ", " + b).orElse("")); + if (param != null) { + logger.info("┃ [{}] {}", ++i, Arrays.stream(param).map(Object::toString).reduce((a, b) -> a + ", " + b).orElse("")); + } else { + logger.info("┃ [{}] {}", ++i, "<#NULL>"); + } } } logger.info("┣# createTime: {}", action.getCreateTime()); @@ -71,7 +78,7 @@ public interface SQLDebugHandler { logger.info("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"); logger.info("┣# ActionUUID: {}", query.getAction().getActionUUID()); logger.info("┣# SQLContent: {}", query.getSQLContent()); - logger.info("┣# executeCote: {} ms", (closeTime - executeTime)); + logger.info("┣# executeCost: {} ms", (closeTime - executeTime)); logger.info("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"); } }; diff --git a/example/demo/pom.xml b/example/demo/pom.xml index 4f57522..b7da692 100644 --- a/example/demo/pom.xml +++ b/example/demo/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.12 + 0.3.13 ../../pom.xml 4.0.0 @@ -17,6 +17,8 @@ UTF-8 true true + + 2.17.2 easysql-demo @@ -80,6 +82,27 @@ test + + org.apache.logging.log4j + log4j-api + ${log4j.version} + compile + + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + compile + + + + org.apache.logging.log4j + log4j-slf4j-impl + ${log4j.version} + compile + + diff --git a/example/demo/src/test/java/cc/carm/lib/easysql/EasySQLTest.java b/example/demo/src/test/java/cc/carm/lib/easysql/EasySQLTest.java index 420fcec..c197a02 100644 --- a/example/demo/src/test/java/cc/carm/lib/easysql/EasySQLTest.java +++ b/example/demo/src/test/java/cc/carm/lib/easysql/EasySQLTest.java @@ -22,6 +22,7 @@ public class EasySQLTest { config.setJdbcUrl("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MYSQL;"); SQLManager sqlManager = new SQLManagerImpl(new HikariDataSource(config), "test"); + sqlManager.setDebugMode(true); print("加载测试类..."); Set tests = new LinkedHashSet<>(); diff --git a/impl/pom.xml b/impl/pom.xml index 903e35a..c7de688 100644 --- a/impl/pom.xml +++ b/impl/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.12 + 0.3.13 4.0.0 diff --git a/impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java b/impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java index 3179545..1f990bc 100644 --- a/impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java +++ b/impl/src/main/java/cc/carm/lib/easysql/action/PreparedSQLBatchUpdateActionImpl.java @@ -19,7 +19,7 @@ public class PreparedSQLBatchUpdateActionImpl implements PreparedSQLUpdateBatchAction { boolean returnKeys = false; - List allParams; + @NotNull List allParams; public PreparedSQLBatchUpdateActionImpl(@NotNull SQLManagerImpl manager, @NotNull String sql) { super(manager, sql); diff --git a/pom.xml b/pom.xml index dddb11f..da39c98 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ cc.carm.lib easysql-parent pom - 0.3.12 + 0.3.13 api diff --git a/with-pool/beecp/pom.xml b/with-pool/beecp/pom.xml index 4fbd1aa..96c8cdc 100644 --- a/with-pool/beecp/pom.xml +++ b/with-pool/beecp/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.12 + 0.3.13 ../../pom.xml 4.0.0 diff --git a/with-pool/hikaricp/pom.xml b/with-pool/hikaricp/pom.xml index 1abb366..2a76a46 100644 --- a/with-pool/hikaricp/pom.xml +++ b/with-pool/hikaricp/pom.xml @@ -5,7 +5,7 @@ easysql-parent cc.carm.lib - 0.3.12 + 0.3.13 ../../pom.xml 4.0.0