mybatis 插入单条数据时 返回主键
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID() AS id
</selectKey>
但是当使用批量插入时则不可使用
SELECT LAST_INSERT_ID() AS id
批量插入返回主键在insert标签内添加
useGeneratedKeys="true" keyProperty="id"
设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。MySQL和SQLServer执行auto-generated key field,
因此当数据库设置好自增长主键后,可通过JDBC的getGeneratedKeys方法获取。但像Oralce等不支持auto-generated key field的数据库就不能用这种方法获取主键了
keyProperty
返回主键ID到Javabean的属性名称
注意:我在这里做的批量插入,传入的是一个List集合,所以的collection属性要写list,插入完成后会直接把主键ID放入你的Javabean中。最重要的是这种写法只能是
Mybatis版本3.3.1以上,不然会报错。