因为 oracle 不同于 mysql 中没有自增设置,所以需要手动为ID创建序列。
创建序列脚本:
CREATE SEQUENCE
sys_user_sequence
INCREMENT BY 1
START WITH 1
NOMAXVALUE
nocycle
nocache;
mybatis代码:
<insert id="add" parameterType="com.yl.law.system.domain.SysUserDO">
<selectKey resultType="long" keyProperty="id" order="BEFORE">
select sys_user_sequence.nextval from dual
</selectKey>
insert into sys_user
(id,created_time_,created_by_,username,password_)
values (#{id}, sysdate, #{createdBy}, #{username}, #{password})
</insert>
resultType : 返回值类型。
keyProperty: 返回值实体类对应名称。
order : 这个oracle 必须写BEFORE ,mysql 是AFTER。