使用Mybatis如何实现删除多个数据
作者:black小黑黑 发布时间:2023-06-15 21:11:57
标签:Mybatis,删除,多个数据
Mybatis删除多个数据
例如:
删除数据库中sid=1和sid=2的数据
操作步骤如下
1.在实体类中创建一个LIst用于存放要删除的sid
2.配置Mapper.xml如下:
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批量删除多表数据
业务需求
需要一键清除数据,将库中以“obj_”前缀开头的表数据全部清除。
查询以obj_前缀开头的表的截断语句
mapper接口方法:
/**
* 查询所有obj开头的表的数据删除sql
*/
List<String> selectAllObjTableRemoveSql();
xml:
<select id="selectAllObjTableRemoveSql" resultType="java.lang.String">
SELECT
CONCAT( 'truncate table ', TABLE_NAME, ';' )
FROM
information_schema.TABLES
WHERE
table_schema = 'sc-gateway'
AND TABLE_NAME LIKE 'obj_%';
</select>
其中的“obj_”就是需要匹配的表名称字符
查询的结果是一个List<String>,其中的每项就是一张表的截断语句
后续只要将每个语句执行一遍就可以了
直接将整个String传过去执行
<delete id="removeDataBySql" parameterType="String">
${value}
</delete>
来源:https://blog.csdn.net/weixin_43689040/article/details/84860501
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 一、首先我们先创建一个Maven项目把我们需要的包先准备好 1.打开pom.xml文件引入依赖,以下是整个pom.xml文件<
- 模拟ThreadLocal类实现:线程范围内的共享变量,每个线程只能访问他自己的,不能访问别的线程。package com.ljq.test
- 本文主要介绍Android实现拍照、录像、录音代码的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。RecordActivity.ja
- 将DataGrid中上面这个表头变成下面的两行表头,你会怎么实现?很巧妙地截断和补充td tr来实现来源:http://www.cnsend
- 前面一篇有说道如何在MyEclipse中搭建maven项目,这里将继续介绍如何在搭建好的基础maven项目中引入我们常用的javaweb框架
- Spring数据源的配置数据源(连接池)的作用数据源(连接池)是提高程序性能如出现的事先实例化数据源,初始化部分连接资源使用连接资源时从数据
- 以下共有4个函数分别是:1.从剪切板获得文字。2.将字符串复制到剪切板。3.从剪切板获得图片。4.复制图片到剪切板。/** * 从剪切板获得
- 源码学习的好处不用多说,Mybatis源码量少、逻辑简单,将写个系列文章来学习。SqlSessionMybatis的使用入口位于org.ap
- Java 分割字符串java.lang.String 的 split() 方法, JDK 1.4 or laterpublic
- 熟悉Eclipse的都知道Eclipse经常性的会出现一些莫名其妙的问题,有时候运行的好好的突然重启一下项目就莫名的报错,所以经常会用到cl
- 1.前言string是属于引用类型的,这个大家都知道吧?但是平常在使用的过程中,发现它还是拥有一些值类型的特征的,这到底是为什么呢?原因就是
- 本文实例讲述了C#用匿名方法定义委托的实现方法。分享给大家供大家参考。具体实现方法如下://用匿名方法定义委托 class Program
- Java有一种特殊线程,守护线程,这种线程优先级特别低,只有在同一程序中的其他线程不执行时才会执行。由于守护线程拥有这些特性,所以,一般用为
- hello,今天给大家带来一道算法题。这道算法题,是我目前为止,见过最难的一道题。那么到底是怎样的一道算法题呢?如下:题目:给定一个数组,
- 实现InitializingBean接口或使用@PostConstruct注解实现InitializingBean如下public clas
- 很多小伙伴刚刚接触.net这一平台,可能不清楚如何安装最新版本VS 来搭建一个好用的编译器;本文将引导大家安装VS2019 C#语言的安装第
- 一、 通过JDK网络类Java.net.HttpURLConnection1.java.net包下的原生java api提供的http请求使
- 本文实例讲述了Jaxb2实现JavaBean与xml互转的方法。分享给大家供大家参考,具体如下:一、简介JAXB(Java Architec
- 本文实例讲述了C#4.0新特性的协变与逆变,有助于大家进一步掌握C#4.0程序设计。具体分析如下:一、C#3.0以前的协变与逆变如果你是第一
- 已经有很多关于 Flutter WebView 的文章了,为什么还要写一篇。两个原因:Flutter WebView 是 Flutter 开