## Uses of Interface
org.springframework.jdbc.core.namedparam.SqlParameterSource

- Packages that use SqlParameterSource
  Package | Description
  --- | ---
  org.springframework.jdbc.core.metadata | Context metadata abstraction for the configuration and execution of table inserts and stored procedure calls.
  org.springframework.jdbc.core.namedparam | JdbcTemplate variant with named parameter support.
  org.springframework.jdbc.core.simple | Simplification layer for table inserts and stored procedure calls.

- - ### Uses of SqlParameterSource in org.springframework.jdbc.core.metadata

    Methods in org.springframework.jdbc.core.metadata with parameters of type SqlParameterSource
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,Object>` | CallMetaDataContext.`matchInParameterValuesWithCallParameters(SqlParameterSource parameterSource)` Match input parameter values with the parameters declared to be used in the call.
    `List<Object>` | TableMetaDataContext.`matchInParameterValuesWithInsertColumns(SqlParameterSource parameterSource)` Match the provided column names and values with the list of columns used.

  - ### Uses of SqlParameterSource in org.springframework.jdbc.core.namedparam

    Classes in org.springframework.jdbc.core.namedparam that implement SqlParameterSource
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractSqlParameterSource` Abstract base class for `SqlParameterSource` implementations.
    `class` | `BeanPropertySqlParameterSource` `SqlParameterSource` implementation that obtains parameter values from bean properties of a given JavaBean object.
    `class` | `EmptySqlParameterSource` A simple empty implementation of the `SqlParameterSource` interface.
    `class` | `MapSqlParameterSource` `SqlParameterSource` implementation that holds a given Map of parameters.

    Methods in org.springframework.jdbc.core.namedparam that return SqlParameterSource
    Modifier and Type | Method and Description
    --- | ---
    `static SqlParameterSource[]` | SqlParameterSourceUtils.`createBatch(Collection<?> candidates)` Create an array of `SqlParameterSource` objects populated with data from the values passed in (either a `Map` or a bean object).
    `static SqlParameterSource[]` | SqlParameterSourceUtils.`createBatch(Map<String,?>[] valueMaps)` Create an array of `MapSqlParameterSource` objects populated with data from the values passed in.
    `static SqlParameterSource[]` | SqlParameterSourceUtils.`createBatch(Object... candidates)` Create an array of `SqlParameterSource` objects populated with data from the values passed in (either a `Map` or a bean object).

    Methods in org.springframework.jdbc.core.namedparam with parameters of type SqlParameterSource
    Modifier and Type | Method and Description
    --- | ---
    `int[]` | NamedParameterJdbcTemplate.`batchUpdate(String sql, SqlParameterSource[] batchArgs)`
    `int[]` | NamedParameterJdbcOperations.`batchUpdate(String sql, SqlParameterSource[] batchArgs)` Execute a batch using the supplied SQL statement with the batch of supplied arguments.
    `static List<SqlParameter>` | NamedParameterUtils.`buildSqlParameterList(ParsedSql parsedSql, SqlParameterSource paramSource)` Convert parameter declarations from an SqlParameterSource to a corresponding List of SqlParameters.
    `static int[]` | NamedParameterUtils.`buildSqlTypeArray(ParsedSql parsedSql, SqlParameterSource paramSource)` Convert parameter types from an SqlParameterSource into a corresponding int array.
    `static Object[]` | NamedParameterUtils.`buildValueArray(ParsedSql parsedSql, SqlParameterSource paramSource, List<SqlParameter> declaredParams)` Convert a Map of named parameter values to a corresponding array.
    `<T> T` | NamedParameterJdbcTemplate.`execute(String sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action)`
    `<T> T` | NamedParameterJdbcOperations.`execute(String sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action)` Execute a JDBC data access operation, implemented as callback action working on a JDBC PreparedStatement.
    `static int[]` | NamedParameterBatchUpdateUtils.`executeBatchUpdateWithNamedParameters(ParsedSql parsedSql, SqlParameterSource[] batchArgs, JdbcOperations jdbcOperations)` Deprecated.
    `static Map<String,String>` | SqlParameterSourceUtils.`extractCaseInsensitiveParameterNames(SqlParameterSource parameterSource)` Create a Map of case-insensitive parameter names together with the original name.
    `protected PreparedStatementCreator` | NamedParameterJdbcTemplate.`getPreparedStatementCreator(String sql, SqlParameterSource paramSource)` Build a `PreparedStatementCreator` based on the given SQL and named parameters.
    `protected PreparedStatementCreator` | NamedParameterJdbcTemplate.`getPreparedStatementCreator(String sql, SqlParameterSource paramSource, Consumer<PreparedStatementCreatorFactory> customizer)` Build a `PreparedStatementCreator` based on the given SQL and named parameters.
    `protected PreparedStatementCreatorFactory` | NamedParameterJdbcTemplate.`getPreparedStatementCreatorFactory(ParsedSql parsedSql, SqlParameterSource paramSource)` Build a `PreparedStatementCreatorFactory` based on the given SQL and named parameters.
    `static Object` | SqlParameterSourceUtils.`getTypedValue(SqlParameterSource source, String parameterName)` Create a wrapped value if parameter has type information, plain object if not.
    `<T> T` | NamedParameterJdbcTemplate.`query(String sql, SqlParameterSource paramSource, ResultSetExtractor<T> rse)`
    `<T> T` | NamedParameterJdbcOperations.`query(String sql, SqlParameterSource paramSource, ResultSetExtractor<T> rse)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, reading the ResultSet with a ResultSetExtractor.
    `void` | NamedParameterJdbcTemplate.`query(String sql, SqlParameterSource paramSource, RowCallbackHandler rch)`
    `void` | NamedParameterJdbcOperations.`query(String sql, SqlParameterSource paramSource, RowCallbackHandler rch)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, reading the ResultSet on a per-row basis with a RowCallbackHandler.
    `<T> List<T>` | NamedParameterJdbcTemplate.`query(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)`
    `<T> List<T>` | NamedParameterJdbcOperations.`query(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, mapping each row to a Java object via a RowMapper.
    `List<Map<String,Object>>` | NamedParameterJdbcTemplate.`queryForList(String sql, SqlParameterSource paramSource)`
    `List<Map<String,Object>>` | NamedParameterJdbcOperations.`queryForList(String sql, SqlParameterSource paramSource)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting a result list.
    `<T> List<T>` | NamedParameterJdbcTemplate.`queryForList(String sql, SqlParameterSource paramSource, Class<T> elementType)`
    `<T> List<T>` | NamedParameterJdbcOperations.`queryForList(String sql, SqlParameterSource paramSource, Class<T> elementType)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting a result list.
    `Map<String,Object>` | NamedParameterJdbcTemplate.`queryForMap(String sql, SqlParameterSource paramSource)`
    `Map<String,Object>` | NamedParameterJdbcOperations.`queryForMap(String sql, SqlParameterSource paramSource)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting a result Map.
    `<T> T` | NamedParameterJdbcTemplate.`queryForObject(String sql, SqlParameterSource paramSource, Class<T> requiredType)`
    `<T> T` | NamedParameterJdbcOperations.`queryForObject(String sql, SqlParameterSource paramSource, Class<T> requiredType)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting a result object.
    `<T> T` | NamedParameterJdbcTemplate.`queryForObject(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)`
    `<T> T` | NamedParameterJdbcOperations.`queryForObject(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, mapping a single result row to a Java object via a RowMapper.
    `SqlRowSet` | NamedParameterJdbcTemplate.`queryForRowSet(String sql, SqlParameterSource paramSource)`
    `SqlRowSet` | NamedParameterJdbcOperations.`queryForRowSet(String sql, SqlParameterSource paramSource)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, expecting an SqlRowSet.
    `<T> Stream<T>` | NamedParameterJdbcTemplate.`queryForStream(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)`
    `<T> Stream<T>` | NamedParameterJdbcOperations.`queryForStream(String sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)` Query given SQL to create a prepared statement from SQL and a list of arguments to bind to the query, mapping each row to a Java object via a RowMapper, and turning it into an iterable and closeable Stream.
    `static String` | NamedParameterUtils.`substituteNamedParameters(ParsedSql parsedSql, SqlParameterSource paramSource)` Parse the SQL statement and locate any placeholders or named parameters.
    `static String` | NamedParameterUtils.`substituteNamedParameters(String sql, SqlParameterSource paramSource)` Parse the SQL statement and locate any placeholders or named parameters.
    `int` | NamedParameterJdbcTemplate.`update(String sql, SqlParameterSource paramSource)`
    `int` | NamedParameterJdbcOperations.`update(String sql, SqlParameterSource paramSource)` Issue an update via a prepared statement, binding the given arguments.
    `int` | NamedParameterJdbcTemplate.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder)`
    `int` | NamedParameterJdbcOperations.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder)` Issue an update via a prepared statement, binding the given arguments, returning generated keys.
    `int` | NamedParameterJdbcTemplate.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, String[] keyColumnNames)`
    `int` | NamedParameterJdbcOperations.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, String[] keyColumnNames)` Issue an update via a prepared statement, binding the given arguments, returning generated keys.

  - ### Uses of SqlParameterSource in org.springframework.jdbc.core.simple

    Methods in org.springframework.jdbc.core.simple with parameters of type SqlParameterSource
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | AbstractJdbcInsert.`doExecute(SqlParameterSource parameterSource)` Delegate method that executes the insert using the passed-in `SqlParameterSource`.
    `protected Map<String,Object>` | AbstractJdbcCall.`doExecute(SqlParameterSource parameterSource)` Delegate method that executes the call using the passed-in `SqlParameterSource`.
    `protected Number` | AbstractJdbcInsert.`doExecuteAndReturnKey(SqlParameterSource parameterSource)` Method that provides execution of the insert using the passed-in `SqlParameterSource` and returning a generated key.
    `protected KeyHolder` | AbstractJdbcInsert.`doExecuteAndReturnKeyHolder(SqlParameterSource parameterSource)` Method that provides execution of the insert using the passed-in `SqlParameterSource` and returning all generated keys.
    `protected int[]` | AbstractJdbcInsert.`doExecuteBatch(SqlParameterSource... batch)` Delegate method that executes a batch insert using the passed-in `SqlParameterSources`.
    `Map<String,Object>` | SimpleJdbcCallOperations.`execute(SqlParameterSource args)` Execute the stored procedure and return a map of output params, keyed by name as in parameter declarations.
    `int` | SimpleJdbcInsertOperations.`execute(SqlParameterSource parameterSource)` Execute the insert using the values passed in.
    `int` | SimpleJdbcInsert.`execute(SqlParameterSource parameterSource)`
    `Map<String,Object>` | SimpleJdbcCall.`execute(SqlParameterSource parameterSource)`
    `Number` | SimpleJdbcInsertOperations.`executeAndReturnKey(SqlParameterSource parameterSource)` Execute the insert using the values passed in and return the generated key.
    `Number` | SimpleJdbcInsert.`executeAndReturnKey(SqlParameterSource parameterSource)`
    `KeyHolder` | SimpleJdbcInsertOperations.`executeAndReturnKeyHolder(SqlParameterSource parameterSource)` Execute the insert using the values passed in and return the generated keys.
    `KeyHolder` | SimpleJdbcInsert.`executeAndReturnKeyHolder(SqlParameterSource parameterSource)`
    `int[]` | SimpleJdbcInsertOperations.`executeBatch(SqlParameterSource... batch)` Execute a batch insert using the batch of values passed in.
    `int[]` | SimpleJdbcInsert.`executeBatch(SqlParameterSource... batch)`
    `<T> T` | SimpleJdbcCallOperations.`executeFunction(Class<T> returnType, SqlParameterSource args)` Execute the stored function and return the results obtained as an Object of the specified return type.
    `<T> T` | SimpleJdbcCall.`executeFunction(Class<T> returnType, SqlParameterSource args)`
    `<T> T` | SimpleJdbcCallOperations.`executeObject(Class<T> returnType, SqlParameterSource args)` Execute the stored procedure and return the single out parameter as an Object of the specified return type.
    `<T> T` | SimpleJdbcCall.`executeObject(Class<T> returnType, SqlParameterSource args)`
    `protected Map<String,Object>` | AbstractJdbcCall.`matchInParameterValuesWithCallParameters(SqlParameterSource parameterSource)` Match the provided in parameter values with registered parameters and parameters defined via meta-data processing.
    `protected List<Object>` | AbstractJdbcInsert.`matchInParameterValuesWithInsertColumns(SqlParameterSource parameterSource)` Match the provided in parameter values with registered parameters and parameters defined via meta-data processing.