实现插入数据后返回自增主键ID的几种方式


实现插入数据后返回自增主键ID的几种方式

在xml中 insert 标签中定义 :

* useGeneratedKeys为true,用来设置返回主键id的值,

* keyProperty 代表数据库记录主键字段

* keyColumn 代表 java对象成员属性名

1 xml 映射文件的方式


      insert into user(name,age) values (#{name},#{age})
2 接口注解的方式

在接口映射器中通过注解@Options分别设置参数useGeneratedKeys,keyProperty,keyColumn值 如下

// 返回主键字段id值
@Options(useGeneratedKeys = true,keyProperty = "id",keyColumn = "id")
@Insert("insert into user(name,age) values (#{name},#{age})")
void returnIdSaveUser(User user);
3 Mybatis Plus的方式

调用 BaseMapper 的 insert())或者调用service的save()方法后 ,默认将自增主键封装在 插入对象中

userMapper.insert(user);
userService.save(user);

参考资料地址: https://zhuanlan.zhihu.com/p/217375859

文档纠错: xml和@Param的方式,(参考资料显示此方式,不能返回自增的id),经验证,自增id是可以返回的