Class StatementCreatorUtils

java.lang.Object
org.springframework.jdbc.core.StatementCreatorUtils

public abstract class StatementCreatorUtils extends Object
Utility methods for PreparedStatementSetter/Creator and CallableStatementCreator implementations, providing sophisticated parameter management (including support for LOB values).

Used by PreparedStatementCreatorFactory and CallableStatementCreatorFactory, but also available for direct use in custom setter/creator implementations.

Since:
1.1
Author:
Thomas Risberg, Juergen Hoeller
See Also:
  • Field Details

  • Constructor Details

    • StatementCreatorUtils

      public StatementCreatorUtils()
  • Method Details

    • javaTypeToSqlParameterType

      public static int javaTypeToSqlParameterType(@Nullable Class<?> javaType)
      Derive a default SQL type from the given Java type.
      Parameters:
      javaType - the Java type to translate
      Returns:
      the corresponding SQL type, or SqlTypeValue.TYPE_UNKNOWN if none found
    • setParameterValue

      public static void setParameterValue(PreparedStatement ps, int paramIndex, SqlParameter param, @Nullable Object inValue) throws SQLException
      Set the value for a parameter. The method used is based on the SQL type of the parameter and we can handle complex types like arrays and LOBs.
      Parameters:
      ps - the prepared statement or callable statement
      paramIndex - index of the parameter we are setting
      param - the parameter as it is declared including type
      inValue - the value to set
      Throws:
      SQLException - if thrown by PreparedStatement methods
    • setParameterValue

      public static void setParameterValue(PreparedStatement ps, int paramIndex, int sqlType, @Nullable Object inValue) throws SQLException
      Set the value for a parameter. The method used is based on the SQL type of the parameter and we can handle complex types like arrays and LOBs.
      Parameters:
      ps - the prepared statement or callable statement
      paramIndex - index of the parameter we are setting
      sqlType - the SQL type of the parameter
      inValue - the value to set (plain value or an SqlTypeValue)
      Throws:
      SQLException - if thrown by PreparedStatement methods
      See Also:
    • setParameterValue

      public static void setParameterValue(PreparedStatement ps, int paramIndex, int sqlType, String typeName, @Nullable Object inValue) throws SQLException
      Set the value for a parameter. The method used is based on the SQL type of the parameter and we can handle complex types like arrays and LOBs.
      Parameters:
      ps - the prepared statement or callable statement
      paramIndex - index of the parameter we are setting
      sqlType - the SQL type of the parameter
      typeName - the type name of the parameter (optional, only used for SQL NULL and SqlTypeValue)
      inValue - the value to set (plain value or an SqlTypeValue)
      Throws:
      SQLException - if thrown by PreparedStatement methods
      See Also:
    • cleanupParameters

      public static void cleanupParameters(@Nullable Object... paramValues)
      Clean up all resources held by parameter values which were passed to an execute method. This is for example important for closing LOB values.
      Parameters:
      paramValues - parameter values supplied. May be null.
      See Also:
    • cleanupParameters

      public static void cleanupParameters(@Nullable Collection<?> paramValues)
      Clean up all resources held by parameter values which were passed to an execute method. This is for example important for closing LOB values.
      Parameters:
      paramValues - parameter values supplied. May be null.
      See Also: