mybatis 在oracle数据库中插入数据时获取自增ID sequence序列

版权声明:如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理删除文章。 https://blog.csdn.net/ningzxg/article/details/81123073
  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在插入时实现自增

猜你喜欢

转载自blog.csdn.net/ningzxg/article/details/81123073