Mybatis实现批量插入数据到Oracle中
INSERT ALL
INTO T_APPLAUD
(
ID,
USER_ID,
BUSINESS_TYPE,
PRODUCT_ID,
CREATE_TIME
) VALUES
(
#{item.id, jdbcType=NUMERIC},
#{item.userId, jdbcType=VARCHAR},
#{item.businessType, jdbcType=VARCHAR},
#{item.productId, jdbcType=VARCHAR},
#{item.createdTime, jdbcType=NUMERIC}
)
SELECT 1 FROM DUAL
另外一种方法是 insert into table(...) (select ... from dual) union all (select ... from dual)
INSERT INTO T_APPLAUD
(
ID,
USER_ID,
BUSINESS_TYPE,
PRODUCT_ID,
CREATE_TIME
)(
SELECT
#{item.id},
#{item.userId},
#{item.businessType},
#{item.productId},
#{item.createdTime}
FROM DUAL
)
注意:批量插入的时候不能有values,单条插入的时候有values
单条插入:(回显序列id)
select T_CHECKGROUP_SEQ.nextval from sys.dual
INSERT INTO T_CHECKGROUP Values(#{id},#{code},#{name},#{helpCode},#{sex},#{remark},#{attention})