Interface for retrieving keys, typically used for auto-generated keys
as potentially returned by JDBC insert statements.
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 on key per row and process only one row at a
time in an insert statement. In these cases, just call getKey
to retrieve the key. The returned value is a Number here, which is the
usual type for auto-generated keys.
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.
This is the typical case: a single, numeric generated key.
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.