O tipo de retorno do método de inserção mapeado pode ser
void
ou int
(nesse caso retornará o número da linha inserida). Você pode fazer o seguinte mecanismo para retornar o id gerado:<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>
Isso definirá o
id
gerado coluna para id
propriedade de sua classe de parâmetro. Depois disso, o objeto que você passou como parâmetro terá gerado id
fixado em sua propriedade.