mybatis生成的主键,一般都是用数据库的序列,可是还有不同的写法,比如:
一、NUMBER类型的主键
<insert >
select nvl(max(ID),0)+1 from PERIODICAL_TYPE
</selectKey>
insert into PERIODICAL_TYPE
(ID, YEAR, PERIODICAL_NO, OPER_USER, OPER_DATE)
values
(#{id},
#{year,jdbcType=CHAR},
#{periodicalNo,jdbcType=INTEGER},
#{operUser,jdbcType=VARCHAR},
#{operDate,jdbcType=DATE})
</insert>
重点是:select nvl(max(ID),0)+1 from PERIODICAL_TYPE
二、VARCHAR类型的主键
<insert >
select sys_guid() from dual
</selectKey>
insert into SMS_RD_SORT(SORT_ID,SORT_NAME,SORT_REMARK,TYPE_ID,UPDATE_USER,UPDATE_TIME,SORT_INDEX)
values(#{sortId},#{sortName,jdbcType=VARCHAR},#{sortRemark,jdbcType=VARCHAR},#{typeId,jdbcType=VARCHAR},#{updateUser},#{updateTime,jdbcType=TIMESTAMP},#{sortIndex,jdbcType=VARCHAR})
</insert>
重点是:select sys_guid() from dual