在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列表。