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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章