Mybatis中insert后返回主键

持久层框架使用Mybatis,新增成功后,将数据库刚刚新增的这条数据的主键返回。

 mapper.xml代码

<insert id="addScanData" parameterType="java.util.Map"  useGeneratedKeys="true" keyProperty="id">
    insert into test_table
        <trim prefix="(" suffix=")" suffixOverrides="," >
            <if test="batch != null">batch,</if>
            <if test="carNo != null and carNo != ''">car_no,</if>
            <if test="num != null">plate_number,</if>
            <if test="loadTime != null">load_time,</if>
            <if test="isDeleted != null">is_deleted,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides="," >
            <if test="batch != null">#{batch},</if>
            <if test="carNo != null and carNo != ''">#{carNo},</if>
            <if test="num != null">#{num},</if>
            <if test="loadTime != null">#{loadTime},</if>
            <if test="isDeleted != null">#{isDeleted},</if>
        </trim>
</insert>

Test.java代码,将Map对象传入,执行insert语句后,就可以从Map对象中拿到id值,即为数据库新增数据的主键。

...
dao.save("com.test.mapper.TestMapper.addScanData", map);
scanId = Integer.valueOf(String.valueOf(map.get("id")));
...

当mapper.xml中传入的parameterType是自己定义的实体类时,例如是User对象,可以直接通过user.getId()拿到上述id。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值