# Uses of Interface
org.springframework.jdbc.support.KeyHolder

Packages that use KeyHolder
Package
Description
org.springframework.jdbc.core
Provides the core JDBC framework, based on JdbcTemplate and its associated callback interfaces and helper objects.
org.springframework.jdbc.core.namedparam
JdbcTemplate variant with named parameter support.
org.springframework.jdbc.core.simple
Simplification layer for common JDBC interactions.
org.springframework.jdbc.object
The classes in this package represent RDBMS queries, updates, and stored procedures as threadsafe, reusable objects.
org.springframework.jdbc.support
Support classes for the JDBC framework, used by the classes in the jdbc.core and jdbc.object packages.

## Uses of KeyHolder in org.springframework.jdbc.core

Methods in org.springframework.jdbc.core with parameters of type KeyHolder
Modifier and Type
Method
Description
`int[]`
JdbcOperations.`batchUpdate(PreparedStatementCreator psc, BatchPreparedStatementSetter pss, KeyHolder generatedKeyHolder)`
Issue multiple update statements on a single PreparedStatement, using batch updates and a BatchPreparedStatementSetter to set values.
`int[]`
JdbcTemplate.`batchUpdate(PreparedStatementCreator psc, BatchPreparedStatementSetter pss, KeyHolder generatedKeyHolder)`
`int`
JdbcOperations.`update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)`
Issue an update statement using a PreparedStatementCreator to provide SQL and any required parameters.
`int`
JdbcTemplate.`update(PreparedStatementCreator psc, KeyHolder generatedKeyHolder)`

## Uses of KeyHolder in org.springframework.jdbc.core.namedparam

Methods in org.springframework.jdbc.core.namedparam with parameters of type KeyHolder
Modifier and Type
Method
Description
`int[]`
NamedParameterJdbcOperations.`batchUpdate(String sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder)`
Execute a batch using the supplied SQL statement with the batch of supplied arguments, returning generated keys.
`int[]`
NamedParameterJdbcOperations.`batchUpdate(String sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder, String[] keyColumnNames)`
Execute a batch using the supplied SQL statement with the batch of supplied arguments, returning generated keys.
`int[]`
NamedParameterJdbcTemplate.`batchUpdate(String sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder)`
`int[]`
NamedParameterJdbcTemplate.`batchUpdate(String sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder, String[] keyColumnNames)`
`int`
NamedParameterJdbcOperations.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder)`
Issue an update via a prepared statement, binding the given arguments, returning generated keys.
`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.
`int`
NamedParameterJdbcTemplate.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder)`
`int`
NamedParameterJdbcTemplate.`update(String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, String[] keyColumnNames)`

## Uses of KeyHolder in org.springframework.jdbc.core.simple

Methods in org.springframework.jdbc.core.simple that return KeyHolder
Modifier and Type
Method
Description
`protected KeyHolder`
AbstractJdbcInsert.`doExecuteAndReturnKeyHolder(Map<String,?> args)`
Method that provides execution of the insert using the passed-in Map of parameters and returning all generated keys.
`protected KeyHolder`
AbstractJdbcInsert.`doExecuteAndReturnKeyHolder(SqlParameterSource parameterSource)`
Method that provides execution of the insert using the passed-in `SqlParameterSource` and returning all generated keys.
`KeyHolder`
SimpleJdbcInsert.`executeAndReturnKeyHolder(Map<String,?> args)`
`KeyHolder`
SimpleJdbcInsert.`executeAndReturnKeyHolder(SqlParameterSource parameterSource)`
`KeyHolder`
SimpleJdbcInsertOperations.`executeAndReturnKeyHolder(Map<String,?> args)`
Execute the insert using the values passed in and return the generated keys.
`KeyHolder`
SimpleJdbcInsertOperations.`executeAndReturnKeyHolder(SqlParameterSource parameterSource)`
Execute the insert using the values passed in and return the generated keys.
Methods in org.springframework.jdbc.core.simple with parameters of type KeyHolder
Modifier and Type
Method
Description
`int`
JdbcClient.StatementSpec.`update(KeyHolder generatedKeyHolder)`
Execute the provided SQL statement as an update.
`int`
JdbcClient.StatementSpec.`update(KeyHolder generatedKeyHolder, String... keyColumnNames)`
Execute the provided SQL statement as an update.

## Uses of KeyHolder in org.springframework.jdbc.object

Methods in org.springframework.jdbc.object with parameters of type KeyHolder
Modifier and Type
Method
Description
`int`
SqlUpdate.`update(Object[] params, KeyHolder generatedKeyHolder)`
Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.
`int`
SqlUpdate.`updateByNamedParam(Map<String,?> paramMap, KeyHolder generatedKeyHolder)`
Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.

## Uses of KeyHolder in org.springframework.jdbc.support

Classes in org.springframework.jdbc.support that implement KeyHolder
Modifier and Type
Class
Description
`class`
`GeneratedKeyHolder`
The standard implementation of the `KeyHolder` interface, to be used for holding auto-generated keys (as potentially returned by JDBC insert statements).