mybatis 添加返回主键

方式一:

 使用 <insert> 标签的属性

<insert id="insert" parameterType="com.ahav.reserve.pojo.SummaryParagraphs" useGeneratedKeys="true" keyProperty="partId" keyColumn="part_id">
    insert into summary_paragraphs (summary_id, part, 
      is_share, translation, initial_translation, 
      audio_pcm, addio_wav
      )
    values (#{summaryId,jdbcType=INTEGER}, #{part,jdbcType=INTEGER}, 
      #{isShare,jdbcType=INTEGER}, #{translation,jdbcType=VARCHAR}, #{initialTranslation,jdbcType=VARCHAR}, 
      #{audioPcm,jdbcType=VARCHAR}, #{addioWav,jdbcType=VARCHAR}
      )
  </insert>

方式二:

使用 <selectKey> 标签

<insert id="insertSelective" parameterType="com.ahav.reserve.pojo.SummaryParagraphs">
  	<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="partId">
          SELECT LAST_INSERT_ID()
      </selectKey>
    insert into summary_paragraphs
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="partId != null">
        part_id,
      </if>
      <if test="summaryId != null">
        summary_id,
      </if>
      <if test="part != null">
        part,
      </if>
      <if test="isShare != null">
        is_share,
      </if>
      <if test="translation != null">
        translation,
      </if>
      <if test="initialTranslation != null">
        initial_translation,
      </if>
      <if test="audioPcm != null">
        audio_pcm,
      </if>
      <if test="addioWav != null">
        addio_wav,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="partId != null">
        #{partId,jdbcType=INTEGER},
      </if>
      <if test="summaryId != null">
        #{summaryId,jdbcType=INTEGER},
      </if>
      <if test="part != null">
        #{part,jdbcType=INTEGER},
      </if>
      <if test="isShare != null">
        #{isShare,jdbcType=INTEGER},
      </if>
      <if test="translation != null">
        #{translation,jdbcType=VARCHAR},
      </if>
      <if test="initialTranslation != null">
        #{initialTranslation,jdbcType=VARCHAR},
      </if>
      <if test="audioPcm != null">
        #{audioPcm,jdbcType=VARCHAR},
      </if>
      <if test="addioWav != null">
        #{addioWav,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>

 使用返回的主键:

SummaryParagraphs summaryParagraphs = new SummaryParagraphs();
summaryParagraphs.setPart((duanshu++));
summaryParagraphs.setIsShare(0);
summaryParagraphs.setInitialTranslation(SystemConstant.FILE_URL + "recording" + uuidRecordingName+".txt");
summaryParagraphs.setAudioPcm(SystemConstant.FILE_URL + "recording" + uuidRecordingName+".pcm");
summaryParagraphs.setAddioWav(SystemConstant.FILE_URL + "recording" + uuidRecordingName+".wav");
System.out.println("添加前:" + summaryParagraphs.getPartId());
speech.summaryParagraphsMapper.insert(summaryParagraphs);
System.out.println("添加后:" + summaryParagraphs.getPartId());

打印结果:

添加前:null
添加后:11

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值