diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentPreparedStatementSetter.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentPreparedStatementSetter.java index 847ae4e4805..2053b3f87a8 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentPreparedStatementSetter.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentPreparedStatementSetter.java @@ -62,7 +62,9 @@ public class ArgumentPreparedStatementSetter implements PreparedStatementSetter, * @param argValue the value to set * @throws SQLException if thrown by PreparedStatement methods */ - protected void doSetValue(PreparedStatement ps, int parameterPosition, Object argValue) throws SQLException { + protected void doSetValue(PreparedStatement ps, int parameterPosition, @Nullable Object argValue) + throws SQLException { + if (argValue instanceof SqlParameterValue paramValue) { StatementCreatorUtils.setParameterValue(ps, parameterPosition, paramValue, paramValue.getValue()); } diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentTypePreparedStatementSetter.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentTypePreparedStatementSetter.java index 2272aa55a7c..d254dc2c423 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentTypePreparedStatementSetter.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/ArgumentTypePreparedStatementSetter.java @@ -94,7 +94,7 @@ public class ArgumentTypePreparedStatementSetter implements PreparedStatementSet * @param argValue the argument value * @throws SQLException if thrown by PreparedStatement methods */ - protected void doSetValue(PreparedStatement ps, int parameterPosition, int argType, Object argValue) + protected void doSetValue(PreparedStatement ps, int parameterPosition, int argType, @Nullable Object argValue) throws SQLException { StatementCreatorUtils.setParameterValue(ps, parameterPosition, argType, argValue);