mybatis执行insert语句以后返回主键id

在使用mybatis框架的insert操作而恰好主键id是自增的时候,经常要使用到自增后的主键id,这个时候如果mapper.xml文件还和往常一样写就会发现拿不到。楼主在做一个拼团的项目的时候恰好遇到了这个痛点,拼团项目中有一个group团表和一个order订单表,当一个用户开团的时候需要先往group表中增加一条记录,由于设置的是主键自增的这时往group表中添加记录的时候不用自己添加group表的id,往group表添加完记录一下对应的用户要向order表添加一条记录,group表的id恰好是order表中的外键。

这时我采用的做法是在对应的mapper.xml文件的 标签添加两个属性就行,

mybatis执行insert语句以后返回主键id_第1张图片

1.keyProperty="id"   主键列的名称(我数据库表中的主键列名师id)

2. useGeneratedKeys="true"  设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。

mybatis执行insert语句以后返回主键id_第2张图片

在源码中执行了insert以后直接用对象的get()方法get出主键id就行了,如上图所示的执行结果。

再看看数据库中的效果:

mybatis执行insert语句以后返回主键id_第3张图片

 

你可能感兴趣的:(mysql,mybatis,insert)