1. 程式人生 > >mybatis 在oracle資料庫中插入資料時獲取自增ID sequence序列

mybatis 在oracle資料庫中插入資料時獲取自增ID sequence序列

  1. 在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
    
  2. <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在插入時實現自增