<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;
mybits oracle 插入返回主键
最新推荐文章于 2024-03-29 18:41:09 发布