Package org.springframework.jdbc.core.namedparam

# Class AbstractSqlParameterSource

java.lang.Object
org.springframework.jdbc.core.namedparam.AbstractSqlParameterSource

All Implemented Interfaces:
  `SqlParameterSource`

Direct Known Subclasses:
  `BeanPropertySqlParameterSource`, `MapSqlParameterSource`, `SimplePropertySqlParameterSource`

public abstract class AbstractSqlParameterSource extends Object implements SqlParameterSource
Abstract base class for `SqlParameterSource` implementations. Provides registration of SQL types per parameter and a friendly `toString` representation enumerating all parameters for a `SqlParameterSource` implementing `SqlParameterSource.getParameterNames()`. Concrete subclasses must implement `SqlParameterSource.hasValue(java.lang.String)` and `SqlParameterSource.getValue(java.lang.String)`.

Since:
  2.0
Author:
  Juergen Hoeller, Jens Schauder
See Also:
  - `SqlParameterSource.hasValue(String)`
  - `SqlParameterSource.getValue(String)`
  - `SqlParameterSource.getParameterNames()`

## Field Summary

### Fields inherited from interface org.springframework.jdbc.core.namedparam.SqlParameterSource

`TYPE_UNKNOWN`

## Constructor Summary

Constructors
Constructor
Description
`AbstractSqlParameterSource()`

## Method Summary

Modifier and Type
Method
Description
`int`
`getSqlType(String paramName)`
Return the SQL type for the given parameter, if registered.
`String`
`getTypeName(String paramName)`
Return the type name for the given parameter, if registered.
`void`
`registerSqlType(String paramName, int sqlType)`
Register an SQL type for the given parameter.
`void`
`registerTypeName(String paramName, String typeName)`
Register an SQL type for the given parameter.
`String`
`toString()`
Enumerate the parameter names and values with their corresponding SQL type if available, or just return the simple `SqlParameterSource` implementation class name otherwise.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.springframework.jdbc.core.namedparam.SqlParameterSource

`getParameterNames, getValue, hasValue`

## Constructor Details

### AbstractSqlParameterSource

public AbstractSqlParameterSource()

## Method Details

### registerSqlType

public void registerSqlType(String paramName, int sqlType)
Register an SQL type for the given parameter.

Parameters:
  `paramName` - the name of the parameter
  `sqlType` - the SQL type of the parameter

### registerTypeName

public void registerTypeName(String paramName, String typeName)
Register an SQL type for the given parameter.

Parameters:
  `paramName` - the name of the parameter
  `typeName` - the type name of the parameter

### getSqlType

public int getSqlType(String paramName)
Return the SQL type for the given parameter, if registered.

Specified by:
  `getSqlType` in interface `SqlParameterSource`
Parameters:
  `paramName` - the name of the parameter
Returns:
  the SQL type of the parameter, or `TYPE_UNKNOWN` if not registered
See Also:
  - `SqlParameterSource.TYPE_UNKNOWN`

### getTypeName

@Nullable public String getTypeName(String paramName)
Return the type name for the given parameter, if registered.

Specified by:
  `getTypeName` in interface `SqlParameterSource`
Parameters:
  `paramName` - the name of the parameter
Returns:
  the type name of the parameter, or `null` if not registered

### toString

public String toString()
Enumerate the parameter names and values with their corresponding SQL type if available, or just return the simple `SqlParameterSource` implementation class name otherwise.

Overrides:
  `toString` in class `Object`
Since:
  5.2
See Also:
  - `SqlParameterSource.getParameterNames()`