<insert id="addProToActivity" parameterType="java.util.ArrayList">
INSERT INTO TGP_SM_ACTIVITY_PRODUCT(ID,PRODUCT_CODE,TYPE,ACTIVITY_ID,
OPERATE_NAME,OPERATE_ID,OPERATE_TIME,CATEGORY)
<foreach collection="acproentitylist" item="item" index="index" separator="union">
SELECT
#{item.id},#{item.productCode},#{item.type},#{item.activityId},
#{item.operateName},#{item.operateId},#{item.operateTime},
#{item.category}
FROM DUAL
WHERE NOT EXISTS(SELECT PRODUCT_CODE,ACTIVITY_ID FROM TGP_SM_ACTIVITY_PRODUCT WHERE TYPE='2'
AND ACTIVITY_ID=#{activityid} AND PRODUCT_CODE in
<foreach item="id" index="index" collection="proidlist" open="(" separator="," close=")">
#{id}
</foreach>)
</foreach>
</insert>
上面代码是xml文件中的,其中需要注意的是foreach中collection属性,在dao文件中使用@Param("proidlist")指定参数名,在xml文件中使用collection="proidlist"与其对应;代码中实现的是一次条件插入批量数据。
修改BUG真是个痛苦的事情,基础很重要...