mybatis中如何获取自增主键

方法1:在insert标签中使用userGeneratedKeys和keyProperty标签:

<insert id=”insertname” usegeneratedkeys=”true” keyproperty=”id”>
    insert into names (name) values (#{name})
</insert>

useGeneratedKeys = true 表示开启自动生成主键的功能,keyProperty = "id" 指定了要将自动生成的主键值赋给 id 属性。插入操作完成后,通过访问 id 属性即可获取到自动生成的主键值。

方法2:使用select标签和keyProperty

数据库主键包括自增和非自增,有时候新增一条数据不仅仅知道成功就行了,后边的逻辑可能还需要这个新增的主键,这时候再查询数据库就有点耗时耗力,我们可以采用selectKey来帮助我们获取新增的主键

<insert id="insert" parameterType="com.example.wjtweb.pojo.Goods">
    <selectKey keyProperty="id" order="AFTER" resultType="Integer">
        SELECT LAST_INSERT_ID()
    </selectKey>
    INSERT INTO Goods (MID,GNAME,PRICE,AMOUNT,imageName)
    VALUES (#{mid},#{gname},#{price},#{amount},#{imageName});
</insert>

selectKey 元素包裹在了插入语句,并使用 keyProperty="id" 指定了要将自动生成的主键值赋给 id 属性。resultType="java.lang.Long" 指定了返回值的类型。通过执行 SELECT LAST_INSERT_ID() 语句来获取自动生成的主键值。order="AFTER" 表示 SELECT LASTINSERT ID() 在insert执行之后执行.

posted @   一个苦逼的23届毕业生  阅读(1560)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示