天天看點

mybatis實作批量插入語句(Oracle)

    前段時間,遇到需要批量插入資料的問題。當時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>