Oracle 11g结合MyBatis实现插入数据时主键id自增

在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为主键。

猜你喜欢

转载自blog.csdn.net/weixin_44072535/article/details/109806315