mybatis使用数组批量删除

简介: 前言最近在使用mybatis做项目中,遇到了很多问题比如说: mybatis关联查询 mybatis批量删除。 今天就来说一说mybatis批量删除。正文使用数组进行批量删除mapper.javaint deletePhotoByArray(String[] photos);mapper.xml<delete id="d

前言

最近在使用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

结语

如有问题欢迎留言和私信

与君共勉!

目录
相关文章
|
SQL Java 数据库连接
Mybatis实战练习六【批量删除&Mybatis参数传递】(下)
Mybatis实战练习六【批量删除&Mybatis参数传递】
|
Oracle Java 关系型数据库
mybatis批量删除Batch delete
mybatis批量删除Batch delete
mybatis批量删除Batch delete
|
SQL 存储 Java
Mybatis实战练习六【批量删除&Mybatis参数传递】(上)
Mybatis实战练习六【批量删除&Mybatis参数传递】
|
SQL Java 数据库连接
MyBatis查询接收数据 批量删除
MyBatis查询接收数据 批量删除
208 0
|
SQL Java 数据库连接
【Mybatis】Mybatis中特殊SQL的执行,模糊查询,批量删除,动态设置表名,添加功能获取自增的主键
【Mybatis】Mybatis中特殊SQL的执行,模糊查询,批量删除,动态设置表名,添加功能获取自增的主键
102 0
|
Java 数据库连接 mybatis
mybatis传参、被逗号、分割的字符串、数组传参
mybatis传参、被逗号、分割的字符串、数组传参
719 0
mybatis传参、被逗号、分割的字符串、数组传参
|
SQL Java 数据库连接
八、MyBatis使用in进行列表中数据的批量删除
以删除age in (20,43,99)的数据项为例。很明显此时不可以使用#{},因为这样的话执行的sql语句就变成了这样
257 0
八、MyBatis使用in进行列表中数据的批量删除
|
Oracle Java 关系型数据库
mybatis批量删除Batch delete
mybatis批量删除Batch deletion 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:
844 0
mybatis批量删除Batch delete
|
XML SQL JavaScript
SpringBoot+MyBatis和MyBatisPlus+vue+ElementUl实现批量删除
批量删除也就是同时删除多条数据,首先要把所需要的数据选中, 批量删除它与删除的功能是一样的,只是它们删除的条数不同而已。当然批量删除的逻辑和知识点多,会比删除复杂一点。批量删除需要一个变量来接收返回值,然后获取选中行数据,再把选中行数据中的id获取到并把所有获取到的id进行拼接。确定用户选中了要删除的数据。判断返回来的值的长度,长度大于0说明用户已经选中要删除的数据,否则就提醒用户选择需要删除的数据, 删除成功后刷新表格,提醒用户已删除成功
SpringBoot+MyBatis和MyBatisPlus+vue+ElementUl实现批量删除
|
SQL Java 数据库连接
Mybatis的foreach实现批量删除sql写法(上)
Mybatis的foreach实现批量删除sql写法
579 0