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:
  • Constructor Details

    • MapSqlParameterSource

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

      public MapSqlParameterSource(String paramName, @Nullable 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:
    • MapSqlParameterSource

      public MapSqlParameterSource(@Nullable Map<String,?> values)
      Create a new MapSqlParameterSource based on a Map.
      Parameters:
      values - a Map holding existing parameter values (can be null)
  • Method Details

    • addValue

      public MapSqlParameterSource addValue(String paramName, @Nullable 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, @Nullable 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, @Nullable 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(@Nullable 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
    • hasValues

      public boolean hasValues()
      Return whether this parameter source has been configured with any values.
      Since:
      6.1
    • 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

      @Nullable 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
    • getParameterNames

      @NonNull public String[] getParameterNames()
      Description copied from interface: SqlParameterSource
      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
      See Also: