mybatis使用数组批量删除

前言

最近在使用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,官方文档如下图所示:
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

结语

如有问题欢迎留言和私信

与君共勉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值