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