mybatis在oracle數據庫中插入數據時同時獲取自增sequence序列

在oracle中sequence就是序號,每次取的時候它會自動增加。sequence與表沒有關係。 
Create Sequence
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權限。
 
創建語句如下: 

CREATE SEQUENCE seqTest
INCREMENT BY 1 -- 每次加幾個
START WITH 1 -- 從1開始計數
NOMAXvalue -- 不設置最大值
NOCYCLE -- 一直累加,不循環
CACHE 10; --設置緩存cache個序列,如果系統down掉了或者其它情況將會導致序列不連續,也可以設置爲---------NOCACHE

mybatis的mapper文件配置如下:

<insert id="insert" parameterType="com.huarui.mapping.entity.PmpersoninputEntity" flushCache="true">
       <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="input_id">
           SELECT SEQTEST.NEXTVAL FROM DUAL
       </selectKey>
   INSERT INTO OA_PM_PERSON_INPUT (
   input_id,project_id ,user_id,input_ym,LAST_MODIFY,CREATE_TIME
   )
   VALUES
   (
   #{input_id,jdbcType=VARCHAR},
   #{project_name,jdbcType=VARCHAR},
   #{user_name,jdbcType=VARCHAR},
   SYSDATE,
   SYSDATE,
   SYSDATE
   )
</insert>

resultType="java.lang.String"是id的類型,主鍵是input_id,input_id在插入時實現自增

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