mybatis 返回自增主键

mybatis返回自增主键,两种方式

    1:使用xml标签属性

useGeneratedKeys="true" keyProperty="id"

    2:使用insert的子标签

keyProperty="id" resultType="long" order="AFTER" keyColumn="id">
    SELECT LAST_INSERT_ID()

order属性说明:mysql是自增主键,成功插入数据之后才有id,所以是AFTER,其它数据库例如ORACLE,需要先去序列中查一个序列来作为数据的id,先查了之后再插入数据,所以是BEFORE


两种方法的对比,第一种只支持数据库有自增id功能的数据库

第二种则没有限制,通用性比第一种强


注意,我之前犯了一种低级错误,以为自增的id会以方法返回值的形式返回,但最后发现不是的,不管使用上面哪种方式,id都是返回到对象中,id以前在哪里,返回了还是在哪里

你可能感兴趣的:(mybatis 返回自增主键)