SpringMVC、MyBatis、MySQL 数据库 新增数据 成功 返回 自增主键ID值

实现:自增ID值将返回到 Commodity(对应 parameterType="com.ljw.po.Commodity") 新增对象的 commodityId(对于 keyProperty="commodityId") 字段

方式一 :添加 useGeneratedKeys="true" keyProperty="commodityId" 

  <insert id="insertSelective" parameterType="com.ljw.po.Commodity" useGeneratedKeys="true" keyProperty="commodityId">
    insert into commodity
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="commodityCategoryId != null">
        commodity_category_id,
      </if>
      <if test="commodityName != null">
        commodity_name,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="commodityCategoryId != null">
        #{commodityCategoryId,jdbcType=INTEGER},
      </if>
      <if test="commodityName != null">
        #{commodityName,jdbcType=VARCHAR},
      </if>
    </trim>
  </insert>

方式二 :查询最后自增ID映射到 commodityId 列

<insert id="insertSelective" parameterType="com.ljw.po.Commodity">
    insert into commodity
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="commodityCategoryId != null">
        commodity_category_id,
      </if>
      <if test="commodityName != null">
        commodity_name,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="commodityCategoryId != null">
        #{commodityCategoryId,jdbcType=INTEGER},
      </if>
      <if test="commodityName != null">
        #{commodityName,jdbcType=VARCHAR},
      </if>
    </trim>
    <!-- 关键代码 -->
    <selectKey keyProperty="commodityId" resultType="java.lang.Integer">
      select LAST_INSERT_ID() as commodityId
     </selectKey>
  </insert>

猜你喜欢

转载自blog.csdn.net/qq_39726772/article/details/85225856
今日推荐