From 71f8ea7a64f347ee40356962236fce3a736ef1c2 Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Mon, 4 Nov 2024 09:13:31 +0800 Subject: [PATCH] refactor: optimize unMappedColumnHandler defined in FlexGlobalConfig --- .../main/java/com/mybatisflex/core/FlexGlobalConfig.java | 6 +++--- .../core/mybatis/FlexDefaultResultSetHandler.java | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java index f23aa151..3bf15c91 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/FlexGlobalConfig.java @@ -113,7 +113,7 @@ public class FlexGlobalConfig { /** * 未匹配列处理器 */ - private static UnMappedColumnHandler unMappedColumnHandler; + private UnMappedColumnHandler unMappedColumnHandler; public boolean isPrintBanner() { return printBanner; @@ -329,12 +329,12 @@ public class FlexGlobalConfig { this.versionColumn = versionColumn; } - public static UnMappedColumnHandler getUnMappedColumnHandler() { + public UnMappedColumnHandler getUnMappedColumnHandler() { return unMappedColumnHandler; } public void setUnMappedColumnHandler(UnMappedColumnHandler unMappedColumnHandler) { - FlexGlobalConfig.unMappedColumnHandler = unMappedColumnHandler; + this.unMappedColumnHandler = unMappedColumnHandler; } public FlexDataSource getDataSource() { diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexDefaultResultSetHandler.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexDefaultResultSetHandler.java index 1d57f0d9..bc23c2ca 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexDefaultResultSetHandler.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/FlexDefaultResultSetHandler.java @@ -594,14 +594,15 @@ public class FlexDefaultResultSetHandler extends DefaultResultSetHandler { } } } else { - if (FlexGlobalConfig.getUnMappedColumnHandler() != null) { + UnMappedColumnHandler unMappedColumnHandler = FlexGlobalConfig.getDefaultConfig().getUnMappedColumnHandler(); + if (unMappedColumnHandler != null) { // 增加未匹配列自定义处理 final List unmappedColumnNames = rsw.getUnmappedColumnNames(resultMap, columnPrefix); for (String unmappedColumnName : unmappedColumnNames) { // 不明确类型,直接取object final Object value = typeHandlerRegistry.getMappingTypeHandler(UnknownTypeHandler.class).getResult(rsw.getResultSet(), unmappedColumnName); // 自定义处理未匹配列 - FlexGlobalConfig.getUnMappedColumnHandler().handleUnMappedColumn(metaObject, unmappedColumnName, value); + unMappedColumnHandler.handleUnMappedColumn(metaObject, unmappedColumnName, value); } } }