在MyBatis中,循环删除操作通常使用foreach标签来实现。foreach标签可以在DELETE语句中指定一个集合或数组,循环遍历其中的元素并执行删除操作。
以下是一个示例:
<delete id="deleteByIdList" parameterType="java.util.List">
DELETE FROM table_name
WHERE id IN
<foreach collection="list" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
在上面的示例中,我们定义了一个deleteByIdList方法,该方法接受一个List作为参数,其中包含要删除的id列表。在DELETE语句中使用foreach标签循环遍历id列表,并执行DELETE操作。
要使用这个方法,只需在Mapper接口中定义对应的方法,并在Mapper XML文件中定义对应的SQL语句即可。
public interface MyMapper {
void deleteByIdList(List<Integer> idList);
}
<mapper namespace="com.example.MyMapper">
<delete id="deleteByIdList" parameterType="java.util.List">
DELETE FROM table_name
WHERE id IN
<foreach collection="list" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
这样就可以通过调用deleteByIdList方法来循环删除指定的id列表。