mybatis插入操作时,返回自增主键id

Posted 方方方方方方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis插入操作时,返回自增主键id相关的知识,希望对你有一定的参考价值。

mapper.xml 代码

<insert id="insert" parameterType="com.Student" >
    <selectKey keyProperty="id" resultType="long" order="AFTER">
        select last_insert_id();
    </selectKey>
    insert into student(id,, name)
    values (#{id,jdbcType=BIGINT},#{name,jdbcType=VARCHAR});
</insert>

分析 xml

keyProperty:pojo主键的属性
resultType:pojo主键类型
order:<selectKey> 语句是在插入语句执行之前执行,还是执行之后执行
    BEFORE:之前(一般 UUID 主键)
    AFTER:之后(一般自增的主键)
select last_insert_id();获得当前事务中,最后生成的主键

 java 代码

@Override
public Map addContentCategory(long id, String name) {
    Student s = new Student();
    s.setId(id);
    s.setName(name); 
    //插入到数据库(返回的主键,会自动封装到 s 里面)  
    studentMapper.insert(s); 

    Map map = new HashMap();
    map.put("data",s);
    return map
}

 



以上是关于mybatis插入操作时,返回自增主键id的主要内容,如果未能解决你的问题,请参考以下文章

mybatis插入数据后返回自增主键ID详解

关于mybatis用mysql时,插入返回自增主键的问题

Mybatis+Mysql插入数据库返回自增主键id值的三种方法

mybatis 自增主键配置

mybatis批量插入,怎么返回生成的自增主键

使用mybatis插入自增主键ID的数据后返回自增的ID