org.springframework.jdbc.core.namedparam

## Class MapSqlParameterSource

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

All Implemented Interfaces:
  SqlParameterSource

    public class MapSqlParameterSource
    extends AbstractSqlParameterSource

`SqlParameterSource` implementation that holds a given Map of parameters.

This class is intended for passing in a simple Map of parameter values to the methods of the `NamedParameterJdbcTemplate` class.

The `addValue` methods on this class will make adding several values easier. The methods return a reference to the `MapSqlParameterSource` itself, so you can chain several method calls together within a single statement.

Since:
  2.0
Author:
  Thomas Risberg, Juergen Hoeller
See Also:
  `addValue(String, Object)`, `addValue(String, Object, int)`, `AbstractSqlParameterSource.registerSqlType(java.lang.String, int)`, `NamedParameterJdbcTemplate`

### Field Summary

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

`TYPE_UNKNOWN`

### Constructor Summary

Constructors
Constructor and Description
`MapSqlParameterSource()` Create an empty MapSqlParameterSource, with values to be added via `addValue`.
`MapSqlParameterSource(Map<String,?> values)` Create a new MapSqlParameterSource based on a Map.
`MapSqlParameterSource(String paramName, Object value)` Create a new MapSqlParameterSource, with one value comprised of the supplied arguments.

### Method Summary

Methods
`MapSqlParameterSource` `addValue(String paramName, Object value)` Add a parameter to this parameter source.
`MapSqlParameterSource` `addValue(String paramName, Object value, int sqlType)` Add a parameter to this parameter source.
`MapSqlParameterSource` `addValue(String paramName, Object value, int sqlType, String typeName)` Add a parameter to this parameter source.
`MapSqlParameterSource` `addValues(Map<String,?> values)` Add a Map of parameters to this parameter source.
`Object` `getValue(String paramName)` Return the parameter value for the requested named parameter.
`Map<String,Object>` `getValues()` Expose the current parameter values as read-only Map.
`boolean` `hasValue(String paramName)` Determine whether there is a value for the specified named parameter.

### Methods inherited from class org.springframework.jdbc.core.namedparam.AbstractSqlParameterSource

`getSqlType, getTypeName, registerSqlType, registerTypeName`

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

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

### Constructor Detail

#### MapSqlParameterSource

    public MapSqlParameterSource()

Create an empty MapSqlParameterSource, with values to be added via `addValue`.

See Also:
  `addValue(String, Object)`

#### MapSqlParameterSource

    public MapSqlParameterSource(String paramName,
                         Object value)

Create a new MapSqlParameterSource, with one value comprised of the supplied arguments.

Parameters:
  `paramName` - the name of the parameter
  `value` - the value of the parameter
See Also:
  `addValue(String, Object)`

#### MapSqlParameterSource

    public MapSqlParameterSource(Map<String,?> values)

Create a new MapSqlParameterSource based on a Map.

Parameters:
  `values` - a Map holding existing parameter values (can be `null`)

### Method Detail

#### addValue

    public MapSqlParameterSource addValue(String paramName,
                                 Object value)

Add a parameter to this parameter source.

Parameters:
  `paramName` - the name of the parameter
  `value` - the value of the parameter
Returns:
  a reference to this parameter source, so it's possible to chain several calls together

#### addValue

    public MapSqlParameterSource addValue(String paramName,
                                 Object value,
                                 int sqlType)

Add a parameter to this parameter source.

Parameters:
  `paramName` - the name of the parameter
  `value` - the value of the parameter
  `sqlType` - the SQL type of the parameter
Returns:
  a reference to this parameter source, so it's possible to chain several calls together

#### addValue

    public MapSqlParameterSource addValue(String paramName,
                                 Object value,
                                 int sqlType,
                                 String typeName)

Add a parameter to this parameter source.

Parameters:
  `paramName` - the name of the parameter
  `value` - the value of the parameter
  `sqlType` - the SQL type of the parameter
  `typeName` - the type name of the parameter
Returns:
  a reference to this parameter source, so it's possible to chain several calls together

#### addValues

    public MapSqlParameterSource addValues(Map<String,?> values)

Add a Map of parameters to this parameter source.

Parameters:
  `values` - a Map holding existing parameter values (can be `null`)
Returns:
  a reference to this parameter source, so it's possible to chain several calls together

#### getValues

    public Map<String,Object> getValues()

Expose the current parameter values as read-only Map.

#### hasValue

    public boolean hasValue(String paramName)

Description copied from interface: `SqlParameterSource`
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

    public Object getValue(String paramName)

Description copied from interface: `SqlParameterSource`
Return the parameter value for the requested named parameter.

Parameters:
  `paramName` - the name of the parameter
Returns:
  the value of the specified parameter