在mybatis oracle多表插入的过程中,有时候我们需要oracle执行insert插入操作时返回主键自增长id,由于oracle的自增长需要sequence序列才能实现自增长,所以请先创建一个序列表,实现oracle数据库id的自增长,以下是oracle的sequence序列的创建方法:
创建完之后就可以通过下面的形式返回oracle的自增长主键id了,S_TBL_OA_APPROVAL_SET是序列表名称:
SELECT S_TBL_OA_APPROVAL_SET.NEXTVAL as ID from DUAL
insert into TBL_OA_APPROVAL_SET
ID,
DEPLOY_ID,
COMPANY_ID,
DEPT_ID,
TYPE_ID,
CREATE_DATE,
#{id},
#{deployId,jdbcType=VARCHAR},
#{companyId,jdbcType=DECIMAL},
#{deptId,jdbcType=VARCHAR},
#{typeId,jdbcType=DECIMAL},
#{createDate,jdbcType=TIMESTAMP},
这个就是将序列返回赋值给了oracle的ID,然后通过keyProperty="id"传给了实体类id属性作为值,在values里面我们就可以用#{id}来获取值并插入到oracle数据库中,插入之后就会有id返回回来,我们通过“实体类.getId();”就可以获取返回的oracle主键自增长id了。
来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/34.html