Mybatis之MySql批量insert后返回主键

Posted 精神病人思路广,弱智儿童欢乐多

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis之MySql批量insert后返回主键相关的知识,希望对你有一定的参考价值。

需求:使用批量插入后,需要insert之后的每一条记录的ID

注意:Mybatis3.3.1的版本以后支持批量插入后返回主键ID

示例:

domin.java:

public class User
{
    private int d;
    private String name;
    private String pwd;
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
}

mapper.java:

public interface UserMapper{
    int insertTest(List<User> user);
}

mapper.xml:

<insert id="insertTest" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
   insert into user (name,pwd) values
    <foreach collection="list" item="item" index="index" separator=","> 
         (#{item.name},#{item.pwd}) 
     </foreach> 
</insert>

 

以上是关于Mybatis之MySql批量insert后返回主键的主要内容,如果未能解决你的问题,请参考以下文章

mybatis+mysql insert添加数据后返回数据主键id

mybatis insert 返回主键 的before 和after的区别

MyBatis批量插入返回主键报错

Mybatis 怎么返回insert插入的主键

2017.9.15 mybatis批量插入后实现主键回填

mybatis insert 之后,返回主键为null,我的配置如下