方式一:通过序列
1、新建序列
create sequence SEQ_T_XBRL_WARN_INFO
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
2、执行插入操作,这里利用序列有两种
<insert id="saveTextTemplate" parameterType="com.myfams.textcheck.model.TextTemplate">
<selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">
select SEQ_T_XBRL_TEXT_TEMPLATE.nextval from dual
</selectKey>
insert into t_xbrl_text_template(id,tempName,tempValue)
values (#{id},#{tempName},#{tempValue})
</insert>
<insert id="saveTextTemplate" parameterType="com.myfams.textcheck.model.TextTemplate">
insert into t_xbrl_text_template(id,tempName,tempValue)
values (SEQ_T_XBRL_TEXT_TEMPLATE.nextval,#{tempName},#{tempValue})
</insert>
方式二:非序列方式
通过selectKey标签为主键绑定值,自定义查询计算得出
<insert id="saveTextTemplate" parameterType="com.myfams.textcheck.model.TextTemplate">
<selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">
select nvl(max(id),0)+1 from t_xbrl_text_template
</selectKey>
insert into t_xbrl_text_template(id,tempName,tempValue)
values (#{id},#{tempName},#{tempValue})
</insert>