public interface KeyHolder
Implementations of this interface can hold any number of keys. In the general case, the keys are returned as a List containing one Map for each row of keys.
Most applications only use one key per row and process only one row at a
time in an insert statement. In these cases, just call getKey
or getKeyAs
to retrieve the key. The value returned
by getKey
is a Number
, which is the usual type for auto-generated
keys. For any other auto-generated key type, use getKeyAs
instead.
JdbcTemplate
,
SqlUpdate
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.
|
@Nullable Number getKey() throws InvalidDataAccessApiUsageException
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.
InvalidDataAccessApiUsageException
- if multiple keys are encounteredgetKeyAs(Class)
@Nullable <T> T getKeyAs(Class<T> keyType) throws InvalidDataAccessApiUsageException
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.
keyType
- the type of the auto-generated keyInvalidDataAccessApiUsageException
- if multiple keys are encounteredgetKey()
@Nullable Map<String,Object> getKeys() throws InvalidDataAccessApiUsageException
If there are multiple entries in the list (meaning that multiple rows had keys returned), then an InvalidDataAccessApiUsageException is thrown.
InvalidDataAccessApiUsageException
- if keys for multiple rows are encounteredList<Map<String,Object>> getKeyList()
Can be used for extracting keys for multiple rows (an unusual case), and also for adding new maps of keys.