温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-03-11 12:42:11 来源:亿速云 阅读:563 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关如何使用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<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>,其中的每项就是一张表的截断语句

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

后续只要将每个语句执行一遍就可以了

直接将整个String传过去执行

<delete id="removeDataBySql" parameterType="String">
   ${value}
</delete>

关于“如何使用Mybatis如何实现删除多个数据”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI