This commit is contained in:
belljun3395 2025-10-07 23:10:35 +03:00 committed by GitHub
commit 8cadc2d52f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 7 deletions

View File

@ -36,6 +36,7 @@ import org.springframework.jdbc.core.namedparam.SqlParameterSourceUtils;
import org.springframework.jdbc.support.JdbcUtils; import org.springframework.jdbc.support.JdbcUtils;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.LinkedCaseInsensitiveMap;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
/** /**
@ -265,18 +266,17 @@ public class TableMetaDataContext {
* @param inParameters the parameter names and values * @param inParameters the parameter names and values
*/ */
public List<Object> matchInParameterValuesWithInsertColumns(Map<String, ?> inParameters) { public List<Object> matchInParameterValuesWithInsertColumns(Map<String, ?> inParameters) {
List<Object> values = new ArrayList<>(inParameters.size()); List<Object> values = new ArrayList<>(this.tableColumns.size());
LinkedCaseInsensitiveMap<Object> caseInsensitiveLookup = new LinkedCaseInsensitiveMap<>(inParameters.size());
caseInsensitiveLookup.putAll(inParameters);
for (String column : this.tableColumns) { for (String column : this.tableColumns) {
Object value = inParameters.get(column); Object value = inParameters.get(column);
if (value == null) { if (value == null) {
value = inParameters.get(column.toLowerCase(Locale.ROOT)); value = inParameters.get(column.toLowerCase(Locale.ROOT));
if (value == null) { if (value == null) {
for (Map.Entry<String, ?> entry : inParameters.entrySet()) { value = caseInsensitiveLookup.get(column);
if (column.equalsIgnoreCase(entry.getKey())) {
value = entry.getValue();
break;
}
}
} }
} }
values.add(value); values.add(value);