首先,在数据库中建序列:SEQ_T_RESOURCE
第一种:会在传入该方法的的参数集合中添加主键元素,相当于:map.put("RES_ID",xxx);
SELECT SEQ_T_RESOURCE.NEXTVAL AS RES_ID FROM DUAL
INSERT INTO T_RESOURCE(
RES_ID,
RES_NO,
RES_NAME)
values(
#{RES_ID},
#{RES_NO},
#{RES_NAME,jdbcType=VARCHAR})
第二种:不需要返回插入的主键值
INSERT INTO T_RESOURCE(
RES_ID,
RES_NO,
RES_NAME)
values(
SEQ_T_RESOURCE.NEXTVAL,
#{RES_NO},
#{RES_NAME,jdbcType=VARCHAR})
第三种:会在传入该方法的的参数集合中添加主键元素,相当于:map.put("RES_ID",xxx);
insert into tb_cablecheck_taskdetail(
DETAIL_ID,
TASK_ID)
values
(SQP_TB_CABLECHECK_TASK_DETAIL.nextVAL,
#{TASK_ID},
#{INSPECT_OBJECT_ID})
SELECT SQP_TB_CABLECHECK_TASK_DETAIL.CURRVAL FROM DUAL
第四种:
先写个方法,获取recordId,然后作为参数传入插入表的SQL
int recordId = checkOrderDao.getRecordId();
select SEQ_TB_EQPRECORD.NEXTVAL from DUAL
insert into tb_cablecheck_record
(RECORD_ID,
EQP_ID,
EQP_NO,
EQP_NAME)
values
(#{recordId},
#{eqpId},
#{eqpNo},
#{eqpName})