<insert id="insertSelective" parameterType="xxxx" >
<selectKey resultType="Java.lang.Integer" keyProperty="ID" order="AFTER" >
SELECT LAST_INSERT_ID()
</selectKey>
insert into XXXX
最终结果是 mapper方法返回值为主键ID,同时对象ID值也为主键ID
useGeneratedKeys="true" 可以获取自增长的ID 只支持具有自增长方式的那种数据库(mysql, mssql 等 但 oracle 就不支持了 )
所以可以使用selectKey来获取
<insert id="xxx" parameterType="yyy" useGeneratedKeys="true">
insert into table(...) values (...)
<selectKey resultType="long" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS id
</selectKey>
</insert>