org.springframework.jdbc.core.namedparam
Class MapSqlParameterSource

java.lang.Object
  extended by org.springframework.jdbc.core.namedparam.AbstractSqlParameterSource
      extended by 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
private  java.util.Map<java.lang.String,java.lang.Object> values
           
 
Fields inherited from interface org.springframework.jdbc.core.namedparam.SqlParameterSource
TYPE_UNKNOWN
 
Constructor Summary
MapSqlParameterSource()
          Create an empty MapSqlParameterSource, with values to be added via addValue.
MapSqlParameterSource(java.util.Map<java.lang.String,?> values)
          Create a new MapSqlParameterSource based on a Map.
MapSqlParameterSource(java.lang.String paramName, java.lang.Object value)
          Create a new MapSqlParameterSource, with one value comprised of the supplied arguments.
 
Method Summary
 MapSqlParameterSource addValue(java.lang.String paramName, java.lang.Object value)
          Add a parameter to this parameter source.
 MapSqlParameterSource addValue(java.lang.String paramName, java.lang.Object value, int sqlType)
          Add a parameter to this parameter source.
 MapSqlParameterSource addValue(java.lang.String paramName, java.lang.Object value, int sqlType, java.lang.String typeName)
          Add a parameter to this parameter source.
 MapSqlParameterSource addValues(java.util.Map<java.lang.String,?> values)
          Add a Map of parameters to this parameter source.
 java.lang.Object getValue(java.lang.String paramName)
          Return the parameter value for the requested named parameter.
 java.util.Map<java.lang.String,java.lang.Object> getValues()
          Expose the current parameter values as read-only Map.
 boolean hasValue(java.lang.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
 

Field Detail

values

private final java.util.Map<java.lang.String,java.lang.Object> values
Constructor Detail

MapSqlParameterSource

public MapSqlParameterSource()
Create an empty MapSqlParameterSource, with values to be added via addValue.

See Also:
addValue(String, Object)

MapSqlParameterSource

public MapSqlParameterSource(java.lang.String paramName,
                             java.lang.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(java.util.Map<java.lang.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(java.lang.String paramName,
                                      java.lang.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(java.lang.String paramName,
                                      java.lang.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(java.lang.String paramName,
                                      java.lang.Object value,
                                      int sqlType,
                                      java.lang.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(java.util.Map<java.lang.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 java.util.Map<java.lang.String,java.lang.Object> getValues()
Expose the current parameter values as read-only Map.


hasValue

public boolean hasValue(java.lang.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 java.lang.Object getValue(java.lang.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