mybatis执行insert实体后返回主键

28 篇文章 0 订阅
有时候在使用mybatis进行插入数据时,希望可以在插入数据后返回该新插入数据的主键,可以通过如下两种方式实现:
1、在insert标签里添加如下标签:
<selectKey resultType="java.lang.Short" order="AFTER" keyProperty="id">
     SELECT LAST_INSERT_ID() AS id
</selectKey>
其中:keyProperty的值必须在实体里提供setter方法,这样返回的主键会自动赋值。
2、通过为insert添加属性:
    <!-- useGeneratedKeys="true" keyProperty="xxx" for sqlserver and mysql -->
    <!-- xxx 为java对象属性,必须有setter方法, 指定useGeneratedKeys和keyProperty后,自动增长的字段值会自动赋值给此对象 -->
    <insert id="insert" useGeneratedKeys="true" keyProperty="androidApkfileId">
    <![CDATA[
        INSERT INTO `tbl_android_apkfile` (
            `android_id` ,
            `apkfile_id` ,
            `package_name` ,
            `download_url`,
            `file_name`
        ) VALUES (
            #{androidId, jdbcType=INTEGER} ,
            #{apkfileId, jdbcType=INTEGER} ,
            #{packageName, jdbcType=VARCHAR} ,
            #{downloadUrl, jdbcType=VARCHAR},
            #{fileName, jdbcType=VARCHAR}
        )
    ]]>
    </insert>

当然,对于这种返回的主键必须是可以设置为自动增加的主键,比如mysql和sql server
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值