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

 更新时间:2022年03月11日 10:21:36   作者:black小黑黑  
这篇文章主要介绍了使用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>

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

相关文章

  • Spring使用注解进行对象注入的示例详解

    Spring使用注解进行对象注入的示例详解

    获取 Bean 对象也叫做对象装配,就是把对象取出来放到某个类中,有时候也叫对象注入,常见有关对象注入的注解有两个,一个是@Autowired,另外一个是@Resource,下面就来讲讲它们的具体使用吧
    2023-07-07
  • 解决微服务下Mybatis xml无效绑定问题及分析Invalid bound statement

    解决微服务下Mybatis xml无效绑定问题及分析Invalid bound statement

    这篇文章主要介绍了解决微服务下Mybatis xml无效绑定问题及分析Invalid bound statement,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • SpringBoot实现跨域的几种常用方式总结

    SpringBoot实现跨域的几种常用方式总结

    跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,或者涉及到两个不同域名的资源之间的交互,由于同源策略(Same Origin Policy)的限制,浏览器不允许跨域请求,本文小编给大家分享了SpringBoot实现跨域的几种常用方式,需要的朋友可以参考下
    2023-09-09
  • mybatis的好帮手之MybatisCodeHelperPro详解

    mybatis的好帮手之MybatisCodeHelperPro详解

    这篇文章主要介绍了mybatis的好帮手之MybatisCodeHelperPro详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Java中的synchronized和ReentrantLock的区别详细解读

    Java中的synchronized和ReentrantLock的区别详细解读

    这篇文章主要介绍了Java中的synchronized和ReentrantLock的区别详细解读,synchronized是Java内建的同步机制,所以也有人称其为 IntrinsicLocking,它提供了互斥的语义和可见性,当一个线程已经获取当前锁时,其他试图获取的线程只能等待或者阻塞在那里,需要的朋友可以参考下
    2024-01-01
  • 关于JAVA 数组的使用介绍

    关于JAVA 数组的使用介绍

    本篇文章小编将为大家介绍,关于JAVA 数组的使用介绍,有需要的朋友可以参考一下
    2013-04-04
  • java一个数据整理的方法代码实例

    java一个数据整理的方法代码实例

    这篇文章主要介绍了java一个数据整理的方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Java Spring开发环境搭建及简单入门示例教程

    Java Spring开发环境搭建及简单入门示例教程

    这篇文章主要介绍了Java Spring开发环境搭建及简单入门示例,结合实例形式分析了spring环境搭建、配置、使用方法及相关注意事项,需要的朋友可以参考下
    2017-11-11
  • Spring注解开发生命周期原理解析

    Spring注解开发生命周期原理解析

    这篇文章主要介绍了Spring注解开发生命周期原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java上传文件进度条的实现方法(附demo源码下载)

    Java上传文件进度条的实现方法(附demo源码下载)

    这篇文章主要介绍了Java上传文件进度条的实现方法,可简单实现显示文件上传比特数及进度的功能,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2015-12-12

最新评论