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自动生成主键的主要内容,如果未能解决你的问题,请参考以下文章
mybatis中(Oracle)关于insert时主键自动加1的使用方法