在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中xml配置文件:
<insert id="insert" parameterType="com.huarui.mapping.entity.PmpersoninputEntity" flushCache="true">
<selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="id">
SELECT SEQTEST.NEXTVAL FROM DUAL
</selectKey>
INSERT INTO table_name(id,project_id ,user_id,input_ym,LAST_MODIFY,CREATE_TIME) VALUES(#{id}, #{project_name}, #{user_name}, SYSDATE, SYSDATE, SYSDATE)
</insert>
表中的id为主键。