public class GeneratedKeyHolder extends Object implements KeyHolder
KeyHolder
interface, to be used for
holding auto-generated keys (as potentially returned by JDBC insert statements).
Create an instance of this class for each insert operation, and pass it
to the corresponding JdbcTemplate
or
SqlUpdate
methods.
Constructor and Description |
---|
GeneratedKeyHolder()
Create a new GeneratedKeyHolder with a default list.
|
GeneratedKeyHolder(List<Map<String,Object>> keyList)
Create a new GeneratedKeyHolder with a given list.
|
Modifier and Type | Method and Description |
---|---|
Number |
getKey()
Retrieve the first item from the first map, assuming that there is just
one item and just one map, and that the item is a number.
|
<T> T |
getKeyAs(Class<T> keyType)
Retrieve the first item from the first map, assuming that there is just
one item and just one map, and that the item is an instance of specified type.
|
List<Map<String,Object>> |
getKeyList()
Return a reference to the List that contains the keys.
|
Map<String,Object> |
getKeys()
Retrieve the first map of keys.
|
public GeneratedKeyHolder()
@Nullable public Number getKey() throws org.springframework.dao.InvalidDataAccessApiUsageException, org.springframework.dao.DataRetrievalFailureException
KeyHolder
Keys are held in a List of Maps, where each item in the list represents the keys for each row. If there are multiple columns, then the Map will have multiple entries as well. If this method encounters multiple entries in either the map or the list meaning that multiple keys were returned, then an InvalidDataAccessApiUsageException is thrown.
getKey
in interface KeyHolder
org.springframework.dao.InvalidDataAccessApiUsageException
- if multiple keys are encounteredorg.springframework.dao.DataRetrievalFailureException
KeyHolder.getKeyAs(Class)
@Nullable public <T> T getKeyAs(Class<T> keyType) throws org.springframework.dao.InvalidDataAccessApiUsageException, org.springframework.dao.DataRetrievalFailureException
KeyHolder
Keys are held in a List of Maps, where each item in the list represents the keys for each row. If there are multiple columns, then the Map will have multiple entries as well. If this method encounters multiple entries in either the map or the list meaning that multiple keys were returned, then an InvalidDataAccessApiUsageException is thrown.
getKeyAs
in interface KeyHolder
keyType
- the type of the auto-generated keyorg.springframework.dao.InvalidDataAccessApiUsageException
- if multiple keys are encounteredorg.springframework.dao.DataRetrievalFailureException
KeyHolder.getKey()
@Nullable public Map<String,Object> getKeys() throws org.springframework.dao.InvalidDataAccessApiUsageException
KeyHolder
If there are multiple entries in the list (meaning that multiple rows had keys returned), then an InvalidDataAccessApiUsageException is thrown.
public List<Map<String,Object>> getKeyList()
KeyHolder
Can be used for extracting keys for multiple rows (an unusual case), and also for adding new maps of keys.
getKeyList
in interface KeyHolder