Mybatis插入时返回自增id的值

2022-06-09 19:05:09 浏览数 (1)

Mybatis返回自增id的值

在开发中常常会用到自增id,正常的插入语句返回是插入成功的条数,而有时候我们会需要插入的id值。

怎么获取插入的id值?

常见获取方法

1.先取出最大id值,在程序中加1 2.调用数据库api取得最大id值,然后插入 ...

Mybatis的解决方案

代码语言:javascript复制
<insert id="insertSelective" parameterType="me.forxx.model.user" useGeneratedKeys="true" keyProperty="user_id">
  select * from user
</insert>

只需要在插入的mapper中加上useGeneratedKeys="true" keyProperty="user_id"即可,useGeneratedKeys是否使用生成的主键,keyProperty主键字段名

用法:

代码语言:javascript复制
User user = new User();
user.setName("name");
//其他属性
userDao.insertSelective(user);

//获取自增的user_id
Long userId = user.getUserId();

Mybatis会直接返回到插入的对象的主键字段上,直接get即可

0 人点赞