Mybatis 插入/批量插入返回主键 ID

原文地址:https://renguangli.com/articles/mybatis-insert-return-id

有时候我们在插入一条数据后需要返回主键ID,Mytais 提供了相关方法。

User 实体类

public class User {
    private Integer userId;
    private String nickName;
    private String realName;
    private String avatar;
}

Mapper 接口

Long save(User user); // 单条插入
Long batchSave(List users);// 批量插入

单条插入返回主键

Mapper 映射文件



    insert into user (nick_name, real_name, avatar)
    values (#{nickName}, #{realName}, #{avatar})

或者


    
        select last_insert_id();
    
    insert into user (nick_name, real_name, avatar)
    values (#{nickName}, #{realName}, #{avatar})

插入成功后 Mybatis 会自动将主键 ID 赋值给 user 对象的 userId 字段。

批量插入返回主键

Mapper 映射文件



    insert into user
      (nick_name, real_name, avatar)
    values 
    
        (#{item.nickName}, #{item.realName}, #{item.avatar})
    

UserService

List batchSave(List users){
	userMapper.batchSave(users);
	return users;
}

插入成功后,参数 users 中的 User 对象已包含主键 ID 了。

你可能感兴趣的:(Java,Mybatis)