首页 > 其他 > 详细

MyBatis应用记录:MyBatis如何得到插入数据之后的主键值

时间:2021-06-06 13:18:55      阅读:26      评论:0      收藏:0      [点我收藏+]

一、MyBatis如何得到插入数据之后的主键值

1、第一种:数据库设置主键自增机制。

  userMapper.xml 文件中定义:

  <!-- 向 user 表插入一条数据 -->
    <insert id="insertUser" parameterType="com.ys.po.User">
        <!-- 将插入的数据主键返回到 user 对象中
             keyProperty:将查询到的主键设置到parameterType 指定到对象的那个属性
             select LAST_INSERT_ID():查询上一次执行insert 操作返回的主键id值,只适用于自增主键
             resultType:指定 select LAST_INSERT_ID() 的结果类型
             order:AFTER,相对于 select LAST_INSERT_ID()操作的顺序
         -->
        <selectKey keyProperty="id" resultType="int" order="AFTER">
            select LAST_INSERT_ID()
        </selectKey>
        insert into user(username,sex,birthday,address)
            value(#{username},#{sex},#{birthday},#{address})
    </insert>

2、第二种:非自增主键机制

  <!-- 向 user 表插入一条数据 -->
    <insert id="insertUser" parameterType="com.ys.po.User">
        <!-- 将插入的数据主键返回到 user 对象中
        流程是:首先通过 select UUID()得到主键值,然后设置到 user 对象的id中,在进行 insert 操作
             keyProperty:将查询到的主键设置到parameterType 指定到对象的那个属性
             select UUID():得到主键的id值,注意这里是字符串
             resultType:指定 select UUID() 的结果类型
             order:BEFORE,相对于 select UUID()操作的顺序
         -->
        <selectKey keyProperty="id" resultType="String" order="BEFORE">
            select UUID()
        </selectKey>
        insert into user(id,username,sex,birthday,address)
            value(#{id},#{username},#{sex},#{birthday},#{address})
    </insert>

 

MyBatis应用记录:MyBatis如何得到插入数据之后的主键值

原文:https://www.cnblogs.com/goloving/p/14854772.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!