refactor: optimize unMappedColumnHandler defined in FlexGlobalConfig

This commit is contained in:
Michael Yang 2024-11-04 09:13:31 +08:00
parent cbdc2968f7
commit 71f8ea7a64
2 changed files with 6 additions and 5 deletions

View File

@ -113,7 +113,7 @@ public class FlexGlobalConfig {
/** /**
* 未匹配列处理器 * 未匹配列处理器
*/ */
private static UnMappedColumnHandler unMappedColumnHandler; private UnMappedColumnHandler unMappedColumnHandler;
public boolean isPrintBanner() { public boolean isPrintBanner() {
return printBanner; return printBanner;
@ -329,12 +329,12 @@ public class FlexGlobalConfig {
this.versionColumn = versionColumn; this.versionColumn = versionColumn;
} }
public static UnMappedColumnHandler getUnMappedColumnHandler() { public UnMappedColumnHandler getUnMappedColumnHandler() {
return unMappedColumnHandler; return unMappedColumnHandler;
} }
public void setUnMappedColumnHandler(UnMappedColumnHandler unMappedColumnHandler) { public void setUnMappedColumnHandler(UnMappedColumnHandler unMappedColumnHandler) {
FlexGlobalConfig.unMappedColumnHandler = unMappedColumnHandler; this.unMappedColumnHandler = unMappedColumnHandler;
} }
public FlexDataSource getDataSource() { public FlexDataSource getDataSource() {

View File

@ -594,14 +594,15 @@ public class FlexDefaultResultSetHandler extends DefaultResultSetHandler {
} }
} }
} else { } else {
if (FlexGlobalConfig.getUnMappedColumnHandler() != null) { UnMappedColumnHandler unMappedColumnHandler = FlexGlobalConfig.getDefaultConfig().getUnMappedColumnHandler();
if (unMappedColumnHandler != null) {
// 增加未匹配列自定义处理 // 增加未匹配列自定义处理
final List<String> unmappedColumnNames = rsw.getUnmappedColumnNames(resultMap, columnPrefix); final List<String> unmappedColumnNames = rsw.getUnmappedColumnNames(resultMap, columnPrefix);
for (String unmappedColumnName : unmappedColumnNames) { for (String unmappedColumnName : unmappedColumnNames) {
// 不明确类型直接取object // 不明确类型直接取object
final Object value = typeHandlerRegistry.getMappingTypeHandler(UnknownTypeHandler.class).getResult(rsw.getResultSet(), unmappedColumnName); final Object value = typeHandlerRegistry.getMappingTypeHandler(UnknownTypeHandler.class).getResult(rsw.getResultSet(), unmappedColumnName);
// 自定义处理未匹配列 // 自定义处理未匹配列
FlexGlobalConfig.getUnMappedColumnHandler().handleUnMappedColumn(metaObject, unmappedColumnName, value); unMappedColumnHandler.handleUnMappedColumn(metaObject, unmappedColumnName, value);
} }
} }
} }