Mybatis+mysql主键自增长,插入语句返回主键id

本文介绍如何使用MyBatis结合MySQL实现主键自增,并在插入操作后返回生成的ID。通过<selectKey>元素与自定义插入语句,可以自动获取并设置插入记录的ID值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mybatis+mysql主键自增长,插入语句返回主键id

#(一)SQL语句获取主键自增长的id

<insert id="addGoods" parameterType="com.wlmall.shop.domain.Goods">

<-/ 通过此语句获取主键id,我的id是Long类型keyProperty中写主键列的字段名称,执行之后要插入的类id就会自动赋值->

        <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">
            SELECT LAST_INSERT_ID() AS id
        </selectKey>

        <-这里写插入语句,平时怎么写,这里怎么写就可以了->

        insert into shop_goods
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null  ">id,</if>
            <if test="shopId != null  ">shop_id,</if>
            <if test="categoryId != null  ">category_id,</if>
            <if test="barcode != null  and barcode != ''  ">barcode,</if>
            <if test="videoId != null  ">video_id,</if>
            <if test="name != null  and name != ''  ">name,</if>
            <if test="characteristic != null  and characteristic != ''  ">characteristic,</if>
            <if test="logisticsId != null  ">logistics_id,</if>
            <if test="paixu != null  ">paixu,</if>
            <if test="recommendStatus != null  ">recommend_status,</if>
            <if test="status != null  ">status,</if>
            <if test="content != null  and content != ''  ">content,</if>
            <if test="originalPrice != null  ">original_price,</if>
            <if test="minPrice != null  ">min_price,</if>
            <if test="pintuanPrice != null  ">pintuan_price,</if>
            <if test="minScore != null  ">min_score,</if>
            <if test="stores != null  ">stores,</if>
            <if test="weight != null  ">weight,</if>
            <if test="commissionType != null  ">commission_type,</if>
            <if test="commission != null  ">commission,</if>
            <if test="pingtuan != null  ">pingtuan,</if>
            <if test="dateStart != null  ">date_start,</if>
            <if test="dateEnd != null  ">date_end,</if>
            <if test="addUser != null  and addUser != ''  ">add_user,</if>
            <if test="addDate != null  ">add_date,</if>
            <if test="updateUser != null  and updateUser != ''  ">update_user,</if>
            <if test="updateTime != null  ">update_time,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null  ">#{id},</if>
            <if test="shopId != null  ">#{shopId},</if>
            <if test="categoryId != null  ">#{categoryId},</if>
            <if test="barcode != null  and barcode != ''  ">#{barcode},</if>
            <if test="videoId != null  ">#{videoId},</if>
            <if test="name != null  and name != ''  ">#{name},</if>
            <if test="characteristic != null  and characteristic != ''  ">#{characteristic},</if>
            <if test="logisticsId != null  ">#{logisticsId},</if>
            <if test="paixu != null  ">#{paixu},</if>
            <if test="recommendStatus != null  ">#{recommendStatus},</if>
            <if test="status != null  ">#{status},</if>
            <if test="content != null  and content != ''  ">#{content},</if>
            <if test="originalPrice != null  ">#{originalPrice},</if>
            <if test="minPrice != null  ">#{minPrice},</if>
            <if test="pintuanPrice != null  ">#{pintuanPrice},</if>
            <if test="minScore != null  ">#{minScore},</if>
            <if test="stores != null  ">#{stores},</if>
            <if test="weight != null  ">#{weight},</if>
            <if test="commissionType != null  ">#{commissionType},</if>
            <if test="commission != null  ">#{commission},</if>
            <if test="pingtuan != null  ">#{pingtuan},</if>
            <if test="dateStart != null  ">#{dateStart},</if>
            <if test="dateEnd != null  ">#{dateEnd},</if>
            <if test="addUser != null  and addUser != ''  ">#{addUser},</if>
            <if test="addDate != null  ">#{addDate},</if>
            <if test="updateUser != null  and updateUser != ''  ">#{updateUser},</if>
            <if test="updateTime != null  ">#{updateTime},</if>
        </trim>
    </insert>

#(二)service层取出id返回

public Long addGoods(Goods goods) {
//调用Mapper执行第一步的插入语句
        goodsMapper.addGoods(goods);
        //通过类的get方法获取返回的id值
        Long id=goods.getId();
        return id;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值