第一种方式: <insert id="batchRoleMenu" parameterType="java.util.List" useGeneratedKeys="false"> INSERT ALL <foreach item="item" index="index" collection="list" separator=" "> into sys_role_menu(role_id, menu_id) values(${item.roleId},${item.menuId}) </foreach> SELECT 1 FROM DUAL </insert>
第二种方式:
<insert id="batchRoleMenu" parameterType="java.util.List" useGeneratedKeys="false">
INSERT INTO sys_role_menu(role_id,menu_id)
<foreach item="item" index="index" collection="list" separator="union all">
(SELECT #{item.roleId},#{item.menuId} FROM DUAL)
</foreach>
</insert>
注意:必须写上useGeneratedKeys="false"
为避免出现这个错误:
### The error may involve defaultParameterMap
### The error occurred while setting parameters
必须写上useGeneratedKeys="false"