Le type de retour de la méthode d'insertion mappée peut être void
ou int
(auquel cas il renverra le numéro de la ligne insérée). Vous pouvez utiliser le mécanisme suivant pour renvoyer l'identifiant généré :
<insert id="insert" parameterClass="MyParameter">
<selectKey order="AFTER" keyProperty="id" resultType="long">
SELECT currval('my_seq')
</selectKey>
INSERT INTO mytable(col1, col2) VALUES (#{val1}, #{val2})
</insert>
Cela définira l'id
généré colonne vers id
propriété de votre classe de paramètres. Après cela, l'objet que vous avez passé en paramètre aura généré id
défini dans sa propriété.