|
22 | 22 | import java.util.HashSet;
|
23 | 23 | import java.util.LinkedHashMap;
|
24 | 24 | import java.util.List;
|
| 25 | +import java.util.Locale; |
25 | 26 | import java.util.Map;
|
26 | 27 | import java.util.Set;
|
27 | 28 | import javax.sql.DataSource;
|
@@ -456,18 +457,24 @@ public Map<String, Object> matchInParameterValuesWithCallParameters(SqlParameter
|
456 | 457 | matchedParameters.put(parameterName, SqlParameterSourceUtils.getTypedValue(parameterSource, lowerCaseName));
|
457 | 458 | }
|
458 | 459 | else {
|
459 |
| - String propertyName = JdbcUtils.convertUnderscoreNameToPropertyName(parameterName); |
460 |
| - if (parameterSource.hasValue(propertyName)) { |
461 |
| - matchedParameters.put(parameterName, SqlParameterSourceUtils.getTypedValue(parameterSource, propertyName)); |
| 460 | + String englishLowerCaseName = parameterName.toLowerCase(Locale.ENGLISH); |
| 461 | + if (parameterSource.hasValue(englishLowerCaseName)) { |
| 462 | + matchedParameters.put(parameterName, SqlParameterSourceUtils.getTypedValue(parameterSource, englishLowerCaseName)); |
462 | 463 | }
|
463 | 464 | else {
|
464 |
| - if (caseInsensitiveParameterNames.containsKey(lowerCaseName)) { |
465 |
| - String sourceName = (String) caseInsensitiveParameterNames.get(lowerCaseName); |
466 |
| - matchedParameters.put(parameterName, SqlParameterSourceUtils.getTypedValue(parameterSource, sourceName)); |
| 465 | + String propertyName = JdbcUtils.convertUnderscoreNameToPropertyName(parameterName); |
| 466 | + if (parameterSource.hasValue(propertyName)) { |
| 467 | + matchedParameters.put(parameterName, SqlParameterSourceUtils.getTypedValue(parameterSource, propertyName)); |
467 | 468 | }
|
468 | 469 | else {
|
469 |
| - logger.warn("Unable to locate the corresponding parameter value for '" + parameterName + |
470 |
| - "' within the parameter values provided: " + caseInsensitiveParameterNames.values()); |
| 470 | + if (caseInsensitiveParameterNames.containsKey(lowerCaseName)) { |
| 471 | + String sourceName = (String) caseInsensitiveParameterNames.get(lowerCaseName); |
| 472 | + matchedParameters.put(parameterName, SqlParameterSourceUtils.getTypedValue(parameterSource, sourceName)); |
| 473 | + } |
| 474 | + else { |
| 475 | + logger.warn("Unable to locate the corresponding parameter value for '" + parameterName + |
| 476 | + "' within the parameter values provided: " + caseInsensitiveParameterNames.values()); |
| 477 | + } |
471 | 478 | }
|
472 | 479 | }
|
473 | 480 | }
|
|
0 commit comments