使用Mybatis如何实现删除多个数据
目录
- Mybatis删除多个数据
- 例如:删除数据库中sid=1和sid=2的数据
- 操作步骤如下
- Mybatis批量删除多表数据
- 业务需求
- 查询以obj_前缀开头的表的截断语句
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>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Mybatis批量删除数据操作方法
MyBatis的作用我想不用多说,今天说说MyBatis中的批量删除操作.废话不多说,先给大家一段代码片段! <delete id="deleteByStandardIds"> delete from t_standard_catalog where standard_id in <foreach collection="array" item="standardId" open="(" close=&quo
-
Mybatis批量删除多表
一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在EmpMapper.xml文件中标签的collection属性: 当collection="array"时,表名参数为数组; 当collection="list"时,表名参数为集合. 二. 注意: 无论Mybatis是与mysql数据库结合,还是与Oracle数据库,都同样适合如下设置与操作. 三. 具体示例如下: EmpMapper.xml: <!-- 批量删除员工信息 --> <
-
Mybatis 如何批量删除数据的实现示例
本期以最常用的根据id批量删除数据为例: 接口设计1:List类型单参数 Integer deleteByIds(List<Integer> ids); 接口设计2:Array数组类型单参数 Integer deleteByIds(Integer[] ids); 接口设计3:可变长度参数 Integer deleteByIds(Integer... ids); 此以接口2为例子mapper.xml配置如下: <delete id="deleteByIds"> D
-
MyBatis 实现数据的批量新增和删除的操作
在项目的开发中,我们经常需要对数据进行批量的操作,如:批量新增.批量删除等.下面将介绍MyBatis如何实现数据的批量新增和删除操作. 创建UserMapper接口(用户信息Mapper动态代理接口),实现用户信息的批量新增.批量删除.批量查询. package com.pjb.mapper; import com.pjb.entity.UserInfo; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.
-
使用Mybatis如何实现删除多个数据
目录 Mybatis删除多个数据 例如:删除数据库中sid=1和sid=2的数据 操作步骤如下 Mybatis批量删除多表数据 业务需求 查询以obj_前缀开头的表的截断语句 Mybatis删除多个数据 例如:删除数据库中sid=1和sid=2的数据 操作步骤如下 1.在实体类中创建一个LIst用于存放要删除的sid 2.配置Mapper.xml如下: collection装要遍历的字段,item装获取到的变量,separator装多值之间分割的字段 如果SQL删除语句为: DELETE FRO
-
mybatis mysql delete in操作只能删除第一条数据的方法
出现的Bug 如图,我开始复制delete语句和参数到数据库执行,删除两条数据,但是后台执行确只删除一条数据,当时表示一脸懵逼 分析原因 分析原因 如图,正确的参数传值应该是这样的,聪明的同学,应该就知道哪里错了 解决问题 解决问题 我就不贴开始的代码了,直接贴解决bug的代码 mybatis中的代码 <!-- 批量删除--> <delete id="deleteByIds" parameterType="int[]"> <![CD
-
Mybatis 插入和删除批处理操作
在操作数据库时,经常会碰到批量插入.批量删除的情况,直接执行SQL语句还好做一点,当使用Mybatis进行批量插入.批量删除时会有一些问题.下面对使用Mybatis批量插入,批量删除进行介绍. 1. 批量插入 Java代码: // Model: Test.java @Data public class Test { private String x; private String y; private String z; } // Mapper: TestMapper.java public v
-
mybatis postgresql 批量删除操作方法
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统.POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中.PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询.外键.触发器.视图.事务完整性.多版本并发控制等.同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型.函数.操作符.聚集函数.索引方法.过程
-
MyBatis Plus逻辑删除和分页插件使用详解
概要:Mybatis plus 官网链接 :https://mp.baomidou.com/guide/ 一.依赖配置: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x
-
Mybatis plus逻辑删除注解@TableLogic的使用
目录 物理删除和逻辑删除 @TableLogic注解 @TableLogic注解默认值: @TableLogic注解用法 首先这个注解是苞米豆出品,也就是我们常说的mybatis升级版的东西. 简单讲一下这个注解的用法:我们在做数据库设计的时候有时候哪怕是删除也不会真的走物理删除,毕竟这样很多数据就不可恢复了,大多数时候很多删除都是用逻辑删除. 物理删除和逻辑删除 简单来说物理删除就是真的把这条数据从数据库删除了.而逻辑删除主要是把表中的某一个字段作为标识符,一般我们常用的会默认初始为0,当我们
-
FLEX ArrayCollection删除过滤的数据问题解决
一.问题: ArrayCollection添加过滤器后,部门数据不会被展现,当我删除未展现的数据时,调用removeItemAt()是无法删除的. 二.原因: 复制代码 代码如下: public function removeItemAt(index:int):Object { if (index < 0 || index >= length) { var message:String = resourceManager.getString( "collections",
-
Oracle删除重复的数据,Oracle数据去重复
Oracle 数据库中查询重复数据: select * from employee group by emp_name having count (*)>1; Oracle 查询可以删除的重复数据 select t1.* from employee t1 where (t1.emp_name) in (SELECT t2.emp_name from employee t2 group by emp_name having count (*)>1) and t1.emp_id not in
-
Python增量循环删除MySQL表数据的方法
需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中"指定时期前"的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQL中也存在类似功能,怎奈自己不精通,于是采用Python来实现 话不多少,上脚本: # coding: utf-8 import MySQLdb import time # delete config DELETE_DATETIME = '2016-08-31 23:59:59' DELE
随机推荐
- 使用Python编写简单的画图板程序的示例教程
- 使用Python的Bottle框架写一个简单的服务接口的示例
- iOS动画教你编写Slack的Loading动画进阶篇
- js实现权限树的更新权限时的全选全消功能
- 教你如何自定义百度分享插件以及bshare分享插件的分享按钮
- 使用c语言判断100以内素数的示例(c语言求素数)
- jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
- Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
- Vim 强制保存只读类型文件的方法
- c语言解析bmp图片的实例
- 深入解析Java编程中的boolean对象的运用
- 第1次亲密接触PHP5(1)
- django模型层(model)进行建表、查询与删除的基础教程
- 详解基于vue-cli3快速发布一个fullpage组件
- es6中reduce的基本使用方法
- RXjava网络获取图片数据的方法
- 针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
- C++实现简易万年历
- python操作gitlab API过程解析
- 基于MSELoss()与CrossEntropyLoss()的区别详解