Mybatis批量插入,返回插入成功后的主键id

Mybatis在插入单条数据的时候有两种方式返回自增主键:

1、对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,标签属性。

2、不支持生成自增主键的数据库:使用

例如:

 id="insertAuthor" useGeneratedKeys="true"
    keyProperty="id">
  insert into Author (username,password,email,bio)
  values (#{username},#{password},#{email},#{bio})

批量插入使用举例:

 id="insertAuthor" useGeneratedKeys="true"
    keyProperty="id" parameterType="List">
  insert into Author (username, password, email, bio) values
   item="item" collection="list" separator=",">
    (#{item.username}, #{item.password}, #{item.email}, #{item.bio})
  


dao层:

int insertAuthor(List authors);

在插入操作完成之后,参数的id属性就已经被赋值了

它是这样运行的,在需要新增插入新元素集合对象时,它会需要参数对象,当执行完插入操作后,给之前的参数对象设置id值,也就是改变了需要插入对象集合中的元素的属性id值, 所以接收返回时,返回方法形参参数即可

你可能感兴趣的:(Mybatis批量插入,返回插入成功后的主键id)