1. Through the Oracle sequence
- --Create sequence
- Create sequence Seq_dw_ewsystem
- MinValue 1
- MaxValue 999999999999999999999999999
- Start with 1
- Increment by 1
- Cache 20;
- <insert id="Insertewsystem" parametertype="Ewsystem">
- <selectkey keyproperty="id" resulttype="Long" order="before">
- SELECT Seq_ewsystem. Nextval from DUAL <!--SELECT DECODE (MAX (ID), Null,0,max (ID)) +1 from Ewsystem--
- </selectkey>
- INSERT into Ewsystem (id,org_id,name) VALUES (#{id},#{orgid,jdbctype=varchar},#{name,jdbctype= VARCHAR})
- </Insert>
2. Through Oracle triggers
- create or replace trigger trg_dw_ewsystem
- before insert
- on dw_ewsystem FOR&NBSP;EACH&NBSP;ROW&NBSP;
- begin
- Select seq_dw_ewsystem.nextval into :new.id from dual;
- end;
- <insert id="Insertewsystem" parametertype="Ewsystem">
- <selectkey resulttype="int" keyproperty="id" order="after">
- SELECT seq_dw_Ewsystem. Currval from DUAL
- </selectkey>
- INSERT into Ewsystem (id,org_id,name) VALUES (#{id},#{orgid,jdbctype=varchar},#{name,jdbctype= VARCHAR})
- </Insert>
Get primary KEY (Oracle trigger vs. seq) when Mybatis insert operation