Mybatis插入时返回自增id的值 - For XX

For XXFor XX

作为一个高手
我习惯了孤独

Mybatis插入时返回自增id的值

Mybatis返回自增id的值

QQ截图20180202133246.jpg

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

怎么获取插入的id值?

常见获取方法

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

Mybatis的解决方案

<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主键字段名

用法:

User user = new User();
user.setName("name");
//其他属性
userDao.insertSelective(user);

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

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

转载请注明出处:For XX » Mybatis插入时返回自增id的值
标签:java mybatis 技术干货
分享到: 更多