Mybatis之insert主键返回,标签selectKey


执行数据插入数据操作时候,新增成功,除了返回插入数据条数,有些场景下我们更希望返回数据的主键id,便于进一步处理逻辑。相比再查询一次获取主键,这样效率更快。

列举2种主键的不同配置:

1、主键自增

    
    <insert id="insertAndgetkey" parameterType="com.soft.mybatis.model.User">
        
        <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
            SELECT LAST_INSERT_ID()
        selectKey>
        insert into t_user (username,password,create_date) values(#{username},#{password},#{createDate})
    insert>

2、非自增主键

<?xml version="1.0" encoding="UTF-8" ?>
DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="customer">
 
    
    <insert id="insert" parameterType="com.soft.mybatis.model.Customer">
        
        <selectKey keyProperty="id" order="BEFORE" resultType="String">
            select uuid()
        selectKey>
        insert into t_customer (id,c_name,c_sex,c_ceroNo,c_ceroType,c_age)
        values (#{id},#{name},#{sex},#{ceroNo},#{ceroType},#{age})
    insert>
mapper>

核心知识点摘自:(37条消息) mybatis学习之路----insert主键返回 selectKey使用_第一小菜鸟的博客-CSDN博客_@selectkey