mybatis返回自增主键,两种方式
1:使用xml标签属性
useGeneratedKeys="true" keyProperty="id"
2:使用insert的子标签
<selectKey keyProperty="id" resultType="long" order="AFTER" keyColumn="id"> SELECT LAST_INSERT_ID() </selectKey>
order属性说明:mysql是自增主键,成功插入数据之后才有id,所以是AFTER,其它数据库例如ORACLE,需要先去序列中查一个序列来作为数据的id,先查了之后再插入数据,所以是BEFORE
两种方法的对比,第一种只支持数据库有自增id功能的数据库
第二种则没有限制,通用性比第一种强
注意,我之前犯了一种低级错误,以为自增的id会以方法返回值的形式返回,但最后发现不是的,不管使用上面哪种方式,id都是返回到对象中,id以前在哪里,返回了还是在哪里