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话不多说直接上代码首先是复选框全选和反选这里的话 获取最上面一个复选框的状态同步到拼接的复选框 $ ...
随机推荐
- 微信小程序云开发-数据库-商品列表数据显示N条数据
一.wxml文件 在wxml文件中,写页面和点击事件,添加绑定事件limitGoods 二.js文件 在js文件中写limitGoods(),使用.limit(3)表示只显示3条数据
- tensorflow2 自定义损失函数使用的隐藏坑
Keras的核心原则是逐步揭示复杂性,可以在保持相应的高级便利性的同时,对操作细节进行更多控制.当我们要自定义fit中的训练算法时,可以重写模型中的train_step方法,然后调用fit来训练模型. ...
- 网络损伤仪WANsim的队列深度功能
什么是队列深度 在网络损伤仪WANsim中,队列是指一个用于缓存报文的缓冲池.深度是指缓冲池可以存储的最大数据量.当WANsim接受的报文超出了带宽限制的量时,溢出的报文会进入队列中. 我们可以在WA ...
- 【数论】A%B Problem luogu-1865
题目描述 让你输出区间内的素数的个数 分析 预处理筛法,在随便搞一下就好了. AC代码 #include <bits/stdc++.h> using namespace std; #def ...
- JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
检测漏洞 工具 下载地址:https://github.com/joaomatosf/JavaDeserH2HC javac -cp .:commons-collections-3.2.1.jar E ...
- tp3常量
__MODULE__ __CONTROLLER__
- noip模拟32[好数学啊]
noip模拟32 solutions 真是无语子,又没上100,无奈死了 虽然我每次都觉得题很难,但是还是有好多上100的 战神都200多了,好生气啊啊啊 从题开始变难之后,我的时间分配越来越不均匀, ...
- Hybrid接口
目录 一.Hybrid接口 1.1 VLan的基本概念 1.2 Hybrid接口特点 1.3 Hybrid接口工作原理 1.4 Hybrid配置 一.Hybrid接口 1.1 VLan的基本概念 特点 ...
- Object.defineProperty 中 get set 用法
就是两个函数,只要搞清楚get.set的执行时机就可以了.执行时机如下代码: <!DOCTYPE html> <html lang="en"> <he ...
- BUUCTF-[网鼎杯 2018]Fakebook(SSRF+联合注入绕Waf)
记一道SSRF配合SQL注入的题. 喜欢在做题之前扫一下网站的目录,扫到了robots.txt文件可以访问,拿到user.php.bak的源码.同时还有flag.php. <?php class ...