使用Mybatis如何实现删除多个数据

目录

  • Mybatis删除多个数据
    • 删除数据库中sid=1和sid=2的数据
    • 操作步骤如下
  • Mybatis批量删除多表数据
    • 业务需求
    • 查询以obj_前缀开头的表的截断语句

Mybatis删除多个数据 例如:
【使用Mybatis如何实现删除多个数据】
删除数据库中sid=1和sid=2的数据
使用Mybatis如何实现删除多个数据
文章图片


操作步骤如下
1.在实体类中创建一个LIst用于存放要删除的sid
使用Mybatis如何实现删除多个数据
文章图片

2.配置Mapper.xml如下:
使用Mybatis如何实现删除多个数据
文章图片

collection装要遍历的字段,item装获取到的变量,separator装多值之间分割的字段
如果SQL删除语句为:
DELETE FROM animal WHERE a_sid IN(1,2)

用foreach标签中的open="" close="",分别表示以什么开始和以什么结束
3.接口文件中配置执行语句
public int delMor(Animal animal);

4.配置Test相关语句测试:
使用Mybatis如何实现删除多个数据
文章图片


Mybatis批量删除多表数据
业务需求
需要一键清除数据,将库中以“obj_”前缀开头的表数据全部清除。

查询以obj_前缀开头的表的截断语句
mapper接口方法:
/*** 查询所有obj开头的表的数据删除sql*/List selectAllObjTableRemoveSql();

xml:
SELECTCONCAT( 'truncate table ', TABLE_NAME, '; ' )FROMinformation_schema.TABLESWHEREtable_schema = 'sc-gateway'AND TABLE_NAME LIKE 'obj_%';

其中的“obj_”就是需要匹配的表名称字符
查询的结果是一个List,其中的每项就是一张表的截断语句
使用Mybatis如何实现删除多个数据
文章图片

后续只要将每个语句执行一遍就可以了
直接将整个String传过去执行
${value}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读