MyBatis Insert 返回主键值(ORACLE)

来源:互联网 发布:linux有文件夹进不去 编辑:程序博客网 时间:2024/06/06 23:26

<insert id="insertOutBound" parameterType="com.insigma.wms.model.outbound.OutBoundModel">

  <selectKey keyProperty="obId" order="BEFORE" resultType="java.lang.Long">
  SELECT SEQ_WMS_ID.NEXTVAL FROM dual
  </selectKey>
  INSERT INTO WMS_OUTBOUND(
  OBID, 
  OUTBOUNDPLANID, 
  OUTBOUNDNO, 
  OUTBOUNDTIME, 
  CUSTOMERID, 
  OUTBOUNDNUMBER, 
  OUTBOUNDTONNAGE,
  ISDELETED,
  STATUS
)VALUES 
  ( #{obId}, 
   #{outBoundPlanId,jdbcType=INTEGER}, 
   #{outBoundNo,jdbcType=VARCHAR},
   #{outBoundTime,jdbcType=TIMESTAMP}, 
   #{customerId,jdbcType=INTEGER},
   #{outBoundNumber,jdbcType=DOUBLE}, 
   #{outBoundTonnage,jdbcType=DOUBLE},
   0,
   0 )

  </insert>

值得获取:执行完语句后,主键值会赋值给对象对应的属性中;

注意:1.keyProperty指代的是对象中的属性(该属性必须含有setter方法)

             2.有时候会报主键的类型不能插入:

                 2-1.看下resultType的类型是否正确对应;

                 2-2.看下语句里面value中的属性有没有写错

0 0