JAVAWEB开发批量删除,SSM的几种情况
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>VUE联系</title>
<!--自动识别最新稳定版本-->
<!--<script src="https://unpkg.com/vue/dist/vue.min.js"></script>-->
<!--<script src="https://unpkg.com/vue@2.6.10/dist/vue.min.js"></script>-->
<script src="../../js/jquery-3.3.1.min.js"></script>
<style type="text/css">
table{
border: black 1px solid;
}
table td{border:1px solid #00b7ee;background-color: #6ce26c }
th{background-color: #d5008f}
</style>
</head>
<body>
<table CELLPADDING="1" CELLSPACING="1"> <input type="button" onclick="batchDelete()" value="删除"/>
<input type="button" onclick="boxAll()" value="反选/全选"/> <tr>
<th>编号</th>
<th>电话</th>
<th>密码</th>
<th>邮箱</th>
<th>时间</th>
</tr>
<#if userList??>
<#list userList as item>
<tr>
<td>
<input type="checkbox" name="userNmae" value="${item.id}" />
</td>
<td>
<span>${item.phone}</span>
</td>
<td>
<span>${item.password}</span>
</td>
<td>
<span>${item.email}</span>
</td>
<td>
<span>${item.times}</span>
</td>
</tr>
</#list>
</#if> </table>
</body>
<script>
function batchDelete(){
//判断至少选择了一项
var checkedNum = $("input[type='checkbox']:checked").length;
if (checkedNum == 0) {
alert("至少选择一项删除!");
return;
}
if (confirm("确定删除选中的用户?")) {
var userList = new Array();
$("input[type='checkbox']:checked").each(function(){
userList.push($(this).val());
});
$.ajax({
type : "post",
url : "/user/batchDelete",
data : {"userList" : userList.toString()},
dataType:"JSON",
success : function(){
alert("删除成功!");
location.reload();
},
error : function(){
alert("刪除失败!")
}
});
}
} //全选 全不选
var flag=true;
function boxAll(){
var cd=$("input[type=checkbox]");
for (var i=0;i<cd.length;i++) {
cd[i].checked=flag;
}
flag=!flag;
} </script>
</html>
public String batchDelete(HttpServletRequest request,HttpServletResponse response){
Result result=new Result();
String userIdListString= request.getParameter("userList");
String[] userIdList=userIdListString.split(",");
try{
int num= this.userService.batchDelete(userIdList);
}catch (Exception e){
result.setMessage(ExceptionMes.Error_Message02);
result.setNo(ExceptionMes.Error_Code02);
log.error(JSON.toJSONString(result));
}
result.setMessage(ExceptionMes.Error_Message17);
result.setNo(ExceptionMes.Error_Code17);
return JSON.toJSONString(result);
}
<delete id="batchDelete">
DELETE FROM `user` where `id` in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
分别问前端,后台,和MAPPER.
这里注意前端的Array.toString 到后台接收时只是一个集合的字符串,如果需要传入数组或者集合,需要使用String.split(",")进行分割转换。
<!--collection="array"入残维数组-->
<!--collection="ids"入残为M安排-->
<!--collection="list"入残为集合-->
这三种情况对对号入座我就不多少了
JAVAWEB开发批量删除,SSM的几种情况的更多相关文章
- Pandas删除数据的几种情况
开始之前,pandas中DataFrame删除对象可能存在几种情况 1.删除具体列 2.删除具体行 3.删除包含某些数值的行或者列 4.删除包含某些字符.文字的行或者列 本文就针对这四种情况探讨一下如 ...
- ArrayList循环遍历并删除元素的几种情况
如下代码,想要循环删除列表中的元素b,该怎么处理? public class ListDemo { public static void main(String[] args) { ArrayList ...
- 谈谈使用Redis缓存时批量删除的几种实现
前言 在使用缓存的时候,我们时不时会遇到这样一个需求,根据缓存键的规则去批量删除这些数据,比较常见的就是按前缀去删除. 举个简单的例子,Redis中现在有几百个商品的数据,这些数据的key值是有一定规 ...
- iOS开发:一个高仿美团的团购ipad客户端的设计和实现(功能:根据拼音进行检索并展示数据,离线缓存团购数据,浏览记录与收藏记录的批量删除等)
大致花了一个月时间,利用各种空闲时间,将这个客户端实现了,在这里主要是想记录下,设计的大体思路以及实现过程中遇到的坑...... 这个项目的github地址:https://github.com/wz ...
- mybatis 根据id批量删除的两种方法
原文:https://blog.csdn.net/qq_40010745/article/details/81032218 mybatis 根据id批量删除的两种方法 第一种,直接传递给mappe ...
- ssm批量删除
ssm批量删除 批量删除:顾名思义就是一次性删除多个.删除是根据前台传给后台的id,那么所谓批量删除,就是将多个id传给后台,那么如何传过去呢,前后台的交互该如何实现? 1.jsp页面,先选中所有的要 ...
- ssm框架下怎么批量删除数据?
ssm框架下批量删除怎么删除? 1.单击删除按钮选中选项后,跳转到js函数,由函数处理 2. 主要就是前端的操作 js 操作(如何全选?如何把选中的数据传到Controller中) 3.fun()函数 ...
- iOS开发——UI进阶篇(四)tableView的全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除
首先创建项目,在storyboard如下布局控件,设置好约束 然后创建cell模型类XMGWineCell数据模型类XMGWine创建UITableView,设置数据源协议,实现数据源方法懒加载数据这 ...
- SSM实现批量删除功能
批量删除功能的实现 其实实现这个功能还是挺简单的 因为我这是直接拼接的,所以用了DOM方法来获取id话不多说直接上代码首先是复选框全选和反选这里的话 获取最上面一个复选框的状态同步到拼接的复选框 $ ...
随机推荐
- NestJS WebSocket 开始使用
使用NestJs提供WebSocket服务. 本文会在新建项目的基础上增加2个类 Gateway 实现业务逻辑的地方 WebSocketAdapter WebSocket适配器 新建项目 新建一个项目 ...
- React refs 的理解
一.是什么 Refs 在计算机中称为弹性文件系统(英语:Resilient File System,简称ReFS) React 中的 Refs提供了一种方式,允许我们访问 DOM节点或在 render ...
- URL 参数为sql 有空格 的解决办法
var strsql=" select e.* from es_doc_main e where 1=1" +" and e.doccode='"+prtNo+ ...
- vscode配置及插件
编辑vue时候的用户配置 { "workbench.colorTheme": "Solarized Dark", // 主题 "editor.dete ...
- ClickHouse入门笔记
ClickHouse笔记 目录 ClickHouse笔记 第 1 章 ClickHouse 入门 列式储存的好处: 第 2 章 ClickHouse 的安装 第 3 章 数据类型 整型 浮点型 布尔型 ...
- 用QT写的简单Todo记事本-附源码(浮动窗口)
去年边学边写了搞了很久, 已经好久没继续开发了, 先放出来供大家参考吧. 发现自己的学习能力还是不错的. 技术点: 使用QT, QML技术 代码参考: https://github.com/cnscu ...
- 数据结构——图的深度优先遍历(邻接矩阵表示+java版本)
1.深度优先遍历(DFS) 图的深度优先遍历本质上是一棵树的前序遍历(即先遍历自身,然后遍历其左子树,再遍历右子树),总之图的深度优先遍历是一个递归的过程. 如下图所示,左图是一个图,右图是图的深度 ...
- 《MySQL实战45讲》(1-7)笔记
<MySQL实战45讲>笔记 目录 <MySQL实战45讲>笔记 第一节: 基础架构:一条SQL查询语句是如何执行的? 连接器 查询缓存 分析器 优化器 执行器 第二节:日志系 ...
- Python中strip()、lstrip()、rstrip()函数的用法
Python中使用函数strip().lstrip().rstrip()来剔除字符串前后的特定字符 函数语法为:str.strip(chars) 返回值是一个新的字符串,不更改源字符串 其中,参数ch ...
- RHCE_DAY05
cron周期性计划任务 cron周期性计划任务用来定期执行程序,目前最主要的用途是定期备份数据 软件包名:cronie.crontabs 服务名:crond 日志文件:/var/log/cron cr ...