mybits oracle 插入返回主键

<insert id="saveAttrachment" parameterType="org.eae.eldf.portal.po.common.PortalAttachment">
         <!--   oracle的写法  和MySQL和很大的不同 
            说明:SEQ_PORTAL_ATTACHMENT  是 oracle数据库里面新建的序列的key
            order:BEFORE 或者 AFTER 
            当order="BEFORE" 时候,返回的主键比实际数据库的主键少1
            当order="AFTER" 时候,返回的主键比实际数据库的主键多1
            keyProperty 是 org.eae.eldf.portal.po.common.PortalAttachment的属性
         -->
        <selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="id">  
                 SELECT SEQ_PORTAL_ATTACHMENT.NEXTVAL FROM DUAL  
        </selectKey> 

        insert into portal_attachment
             (realName,
              sysName,
              filePath,
              fileType,
              fileExt,
              isDelete,
              alfrescoFileId,
              ossFieldId,
              fileSaveType)
        values
             (#{realName,jdbcType=VARCHAR},
              #{sysName,jdbcType=VARCHAR},
              #{filePath,jdbcType=VARCHAR},
              #{fileType,jdbcType=VARCHAR},
              #{fileExt,jdbcType=VARCHAR},
              0,
              #{alfrescoFileId,jdbcType=VARCHAR},
              #{ossFieldId,jdbcType=VARCHAR},
              #{fileSaveType,jdbcType=VARCHAR})

    </insert>




// 这个是要在oracle生成的序列。一定要有,否则会报错
create sequence SEQ_PORTAL_ATTACHMENT
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle 
nocache;




CREATE OR REPLACE TRIGGER PORTAL_ATTACHMENT
BEFORE INSERT ON PORTAL_ATTACHMENT FOR EACH ROW WHEN (new.id is null)
begin
select SEQ_PORTAL_ATTACHMENT.nextval into:new.id from dual;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值