一、需求介绍

前端是一个列表页面,列表可以进行复选框的选择,后台进行关联表数据的删除。

二、框架介绍

springboot+mybatis 数据库用的postgresql

三、具体代码(前端js)

1、前端涉及到的代码

//判断选中状态
var ids =""; $(".checkbox").each(function () {
if($(this).is(':checked'))
ids +=$(this).val() + ",";
});
ids = ids.slice(0,ids.length-1);
//删除
$.ajax({
cache: false,
type: "post",
dataType:'json',
data:{
id:ids,
},
2、逻辑处理层
Map<String, Object> m = getMaps(req);
log.info("|" + m + "|");
// 获取选中的id
String ids=m.get("id").toString();
//将获取到的选中的列表封装在list中
List<String> list = new ArrayList<String>();
String[] stIds = ids.split(",");
for (String value : stIds){
list.add(value);
}
int row = knowledgeDao.deleteById(list);
3、dao层处理
这个仔细测试发现,只是删除了(USING前)file_info 表中的数据,主表数据并没有删除
@Delete("<script>" +
"delete from file_info f USING resource_info k WHERE f.id = k.file_id and k.id in " +
" <foreach collection=\"list\" open=\"(\" close=\")\" separator=\",\" item=\"ids\">#{ids}</foreach>;" +
"</script>")
int deleteById(List<String> ids);
/**
* 删除选择的文件信息 先删除字表数据,再删除主表数据,多个sql实现,目前没发现更好的办法
* * @return
*/
@Delete("<script>" +
"delete from file_info f USING knowledge_info k WHERE f.id = k.file_id and k.id in " +
" <foreach collection=\"list\" open=\"(\" close=\")\" separator=\",\" item=\"ids\">#{ids}</foreach>;" +
" delete from knowledge_info WHERE id in " +
" <foreach collection=\"list\" open=\"(\" close=\")\" separator=\",\" item=\"ids\">#{ids}</foreach>;"+
"</script>")
int deleteById(List<String> ids);

mybatis postgresql 批量删除的更多相关文章

  1. Mybatis实现批量删除数据

    Mybatis实现批量删除操作 学习内容: 1. 使用 2. 代码实现 2.1 UserMapper.java 接口 2.2 UserMapper.xml 总结: 学习内容: 1. 使用 这里通过动态 ...

  2. mybatis的批量删除

    公司工程用的是Mybatis的example的类,自动生成了对数据库的操作,批量操作的今天用到了,两种方式,一种需要拓展它生成的类,另一种自带的. 批量删除的id是以集合List传递 id以List& ...

  3. (后端)Mybatis实现批量删除操作(转)

    原文地址:https://blog.csdn.net/javaee_sunny/article/details/52511842 一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在E ...

  4. mybatis的批量删除操作

    需求描述:将符合某条件的几条记录删除 解决思路:对于多个id,可以使用sql关键词 in ,只要满足数据库的id在你的id集合或者list中,就删除,从而实现批量删除.循环delete方法是在是low ...

  5. Mybatis实现批量删除

    知识点:当传入参数为数组时,XX.xml文件中,标签为collection属性 参考博客:https://blog.csdn.net/javaee_sunny/article/details/5251 ...

  6. mybatis springmvc批量删除 2最新

    service层: @Override public void batchDeletes(List list) { creditDao.batchDeletes(list); } 控制层control ...

  7. postgresql批量删除表

    CREATE FUNCTION del_ora_table() RETURNS void AS $$ DECLARE tmp ); DECLARE names CURSOR FOR select ta ...

  8. springboot + ajax + mybatis 实现批量删除

    实现思路: 1. checkbox全选获取批量删除的id数组 2. ajax以字符串的形式将id数组传给控制器 3. 控制器将字符串分割成List数组作为参数传给mapper 具体代码: 1. 前端代 ...

  9. Mybatis批量删除之Error code 1064, SQL state 42000;

    (一)小小的一次记载. (二):最近的项目都是使用MyBatis,批量新增自己都会写了,但是一次批量删除可把我给折腾了下,写法网上都有,但是照着做就是不行,最后问公司的人,问网友才得到答案,那就是jd ...

随机推荐

  1. @ControllerAdvice实现优雅地处理异常

    @ControllerAdvice,是Spring3.2提供的新注解,它是一个Controller增强器,可对controller中被 @RequestMapping注解的方法加一些逻辑处理.最常用的 ...

  2. 【java基础】String、StringBuilder和StringBuffer的区别

    关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder >  String ...

  3. windows下RocketMQ安装部署

    一.预备环境 1.系统 Windows 2. 环境 JDK1.8.Maven.Git 二. RocketMQ部署 1.下载 1.1地址:http://rocketmq.apache.org/relea ...

  4. 20200102模拟赛 问题A 排列

    先说句新年好哈哈哈 今年又是颓废的一年呢... (开始就满满负能量真好) 分析: 真是有趣的数学递推找规律问题呢... 考场上没想出来,然后n2^n的状压也想不到 索性20*20直接打表2333... ...

  5. 图像处理:AlphaBlend混合两张图片

    使用vs2017新建一个项目 混合A,B两张图的基础算法: outColor = srcColor * srcAlpha + destColor * (1 - srcAlpha) 输出颜色 = 源颜色 ...

  6. ios--->const 用法总结

    const 用法总结 宏.变量.常量区分 宏:只是在预处理器里进行文本替换,没有类型,不做任何类型检查,编译器可以对相同的字符串进行优化.只保存一份到 .rodata 段.甚至有相同后缀的字符串也可以 ...

  7. 在 Ubuntu 上安装 K8S教程

    在 Ubuntu 上安装 K8S教程 1,更新系统源 如果系统本身自带得镜像地址,服务器在国外,下载速度会很慢,可以打开 /etc/apt/sources.lis 替换为国内得镜像源. apt upg ...

  8. ROS中3D机器人建模(五)

    一.创建一个差速驱动移动机器人模型 前面我们已经创建了一个7-DOF机械臂机器人模型,接下来我们将创建一个差速机器人模型,差速轮式机器人在机器人底盘的两端安装两个轮子, 整个底盘由一个或两个脚轮支撑. ...

  9. ps-如何移动照片里的内容

    1.我们用内容感知移动工具把所要移动的区域大致勾选出来. 2.然后我们将所选区域拖动(点击鼠标左键不放拖动). 3.松开鼠标 4.仿制图章工具,alt 键取样,涂抹

  10. 【Java并发工具类】Semaphore

    前言 1965年,荷兰计算机科学家Dijkstra提出的信号量机制成为一种高效的进程同步机制.这之后的15年,信号量一直都是并发编程领域的终结者.1980年,管程被提出,成为继信号量之后的在并发编程领 ...