mybatis使用oracle自动生成主键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis使用oracle自动生成主键相关的知识,希望对你有一定的参考价值。

下面总结了两种方式,一种是使用oracle的sys_guid函数自动生成,另一种是使用sequence,

 方法一:
  <insert id="insert" useGeneratedKeys="false" keyProperty="storeId" parameterType="zttc.itat.user.po.TStore" >
   <selectKey resultType="String"  keyProperty="storeId" order="BEFORE">
   select sys_guid() from dual
 </selectKey>
    insert into T_STORE (STORE_ID, STORE_NAME, STORE_PRICE,CREATE_DATE,END_DATE
      )
    values ( #{storeId,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR}, #{storePrice,jdbcType=DECIMAL},
      #{createDate,jdbcType=VARCHAR},#{endDate,jdbcType=VARCHAR}
      )
  </insert>
 

 方法二:

 <insert id="insert" parameterType="zttc.itat.user.po.TStore" >
    insert into T_STORE (STORE_ID, STORE_NAME, STORE_PRICE,CREATE_DATE,END_DATE
      )
    values (my_sequence.nextval, #{storeName,jdbcType=VARCHAR}, #{storePrice,jdbcType=DECIMAL},
      #{createDate,jdbcType=VARCHAR},#{endDate,jdbcType=VARCHAR}
      )
  </insert>
 
  <insert id="insert" useGeneratedKeys="false" keyProperty="storeId" parameterType="zttc.itat.user.po.TStore" >
   <selectKey resultType="String"  keyProperty="storeId" order="BEFORE">
  select my_sequence.nextval as storeId from dual
 </selectKey>
    insert into T_STORE (STORE_ID, STORE_NAME, STORE_PRICE,CREATE_DATE,END_DATE
      )
    values ( #{storeId,jdbcType=VARCHAR}, #{storeName,jdbcType=VARCHAR}, #{storePrice,jdbcType=DECIMAL},
      #{createDate,jdbcType=VARCHAR},#{endDate,jdbcType=VARCHAR}
      )
  </insert>
 

 

以上是关于mybatis使用oracle自动生成主键的主要内容,如果未能解决你的问题,请参考以下文章