Interface SqlParameterSource

All Known Implementing Classes:
AbstractSqlParameterSource, BeanPropertySqlParameterSource, EmptySqlParameterSource, MapSqlParameterSource, SimplePropertySqlParameterSource

public interface SqlParameterSource
Interface that defines common functionality for objects that can offer parameter values for named SQL parameters, serving as argument for NamedParameterJdbcTemplate operations.

This interface allows for the specification of SQL type in addition to parameter values. All parameter values and types are identified by specifying the name of the parameter.

Intended to wrap various implementations like a Map or a JavaBean with a consistent interface.

Since:
2.0
Author:
Thomas Risberg, Juergen Hoeller
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Constant that indicates an unknown (or unspecified) SQL type.
  • Method Summary

    Modifier and Type
    Method
    Description
    default String[]
    Enumerate all available parameter names if possible.
    default int
    getSqlType(String paramName)
    Determine the SQL type for the specified named parameter.
    default String
    getTypeName(String paramName)
    Determine the type name for the specified named parameter.
    getValue(String paramName)
    Return the parameter value for the requested named parameter.
    boolean
    hasValue(String paramName)
    Determine whether there is a value for the specified named parameter.
  • Field Details

  • Method Details

    • hasValue

      boolean hasValue(String paramName)
      Determine whether there is a value for the specified named parameter.
      Parameters:
      paramName - the name of the parameter
      Returns:
      whether there is a value defined
    • getValue

      @Nullable Object getValue(String paramName) throws IllegalArgumentException
      Return the parameter value for the requested named parameter.
      Parameters:
      paramName - the name of the parameter
      Returns:
      the value of the specified parameter
      Throws:
      IllegalArgumentException - if there is no value for the requested parameter
    • getSqlType

      default int getSqlType(String paramName)
      Determine the SQL type for the specified named parameter.
      Parameters:
      paramName - the name of the parameter
      Returns:
      the SQL type of the specified parameter, or TYPE_UNKNOWN if not known
      See Also:
    • getTypeName

      @Nullable default String getTypeName(String paramName)
      Determine the type name for the specified named parameter.
      Parameters:
      paramName - the name of the parameter
      Returns:
      the type name of the specified parameter, or null if not known
    • getParameterNames

      @Nullable default String[] getParameterNames()
      Enumerate all available parameter names if possible.

      This is an optional operation, primarily for use with SimpleJdbcInsert and SimpleJdbcCall.

      Returns:
      the array of parameter names, or null if not determinable
      Since:
      5.0.3
      See Also: