org.springframework.jdbc.core.namedparam

## Interface SqlParameterSource

All Known Implementing Classes:
  AbstractSqlParameterSource, BeanPropertySqlParameterSource, MapSqlParameterSource

    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:
  `NamedParameterJdbcOperations`, `NamedParameterJdbcTemplate`, `MapSqlParameterSource`, `BeanPropertySqlParameterSource`

### Field Summary

Fields
`static int` `TYPE_UNKNOWN` Constant that indicates an unknown (or unspecified) SQL type.

### Method Summary

Methods
`int` `getSqlType(String paramName)` Determine the SQL type for the specified named parameter.
`String` `getTypeName(String paramName)` Determine the type name for the specified named parameter.
`Object` `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 Detail

#### TYPE_UNKNOWN

    static final int TYPE_UNKNOWN

Constant that indicates an unknown (or unspecified) SQL type. To be returned from `getType` when no specific SQL type known.

See Also:
  `getSqlType(java.lang.String)`, `Types`, Constant Field Values

### Method Detail

#### 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

    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

    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:
  `TYPE_UNKNOWN`

#### getTypeName

    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