mybatis使用数组批量删除

    xiaoxiao2026-03-04  8

    前言

    最近在使用mybatis做项目中,遇到了很多问题比如说: mybatis关联查询 mybatis批量删除。 今天就来说一说mybatis批量删除。

    正文

    使用数组进行批量删除

    mapper.java

    int deletePhotoByArray(String[] photos);

    mapper.xml

    <delete id="deletePhotoByArray" parameterType="java.lang.String"> DELETE FROM t_areaphoto WHERE Id in <foreach collection="array" item="id" open="(" separator="," close=")"> #{id} </foreach> </delete>

    说明 知道元素的属性 使用数组删除需要用到mybatis的动态sql中的foreach,官方文档如下图所示:

    我们很容易知道collection属性可以指代list,array,map.entry list的方式和array方式一致,只需要修改collection的值即可

    使用map删除

    mapper.java

    //map的属性集 Map<String,String[]> rooms = new HashMap<String, String[]>(); roomsId.put("roomsId",id); //mapper接口 int deleteRoomById(Map<String, String[]> rooms);

    mapper.xml

    <delete id="deleteRoomById" parameterType="map"> DELETE FROM t_room WHERE Id in <foreach collection="roomsId" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </delete>

    说明 和上述的数组差不多,只是此处的collection指的是map里面具体某一个key

    结语

    如有问题欢迎留言和私信

    与君共勉!

    相关资源:移相法5倍细分电路
    最新回复(0)