前段时间,遇到需要批量插入数据的问题。当时mapper中语法习惯写成了mysql语法,自测时报错。后来发现是因为不是Oracle支持语句的原因。Oracle支持语法示例:
1、dao中方法入参类型组装为list<>类型
void addItem(@Param("list") List<ItemEntity> list);
2、mapper.xml配置:
<insert id="addItems" parameterType="com.xxx.entity.ItemEntity">
INSERT ALL
<foreach collection="list" item=item" index="index">
INTO COUNSUME_ITEM (ID, PENDING_ID, PHONE, TYPE, CREATE_DATE) VALUES
(rwatohex(sys_guid()), #{item.pendingId}, #{item.phone}, #{item.type}, sysdaye)
</foreach>
select 1 from dual
</insert>