springboot + ajax + mybatis 实现批量删除
实现思路:
1. checkbox全选获取批量删除的id数组
2. ajax以字符串的形式将id数组传给控制器
3. 控制器将字符串分割成List数组作为参数传给mapper
具体代码:
1. 前端代码
<table>
<thead>
<tr>
<th>#</th>
<th>id</th>
<th>文件名</th>
<th>文件类型</th>
<th>上传时间</th>
<th>上传用户</th>
<th>文件大小</th>
</tr>
</thead>
<tbody>
<tr th:each="resource:${resources}">
<td>
<input type="checkbox" name="checkId" id="checkId" th:value="${resource.id}"/>
</td>
<td th:text="${resource.id}">Row 1 Data 1</td>
<td th:text="${resource.fileName}">Row 1 Data 2</td>
<td th:text="${resource.fileType}">Row 1 Data 1</td>
<td th:text="${resource.fileTime}">Row 1 Data 2</td>
<td th:text="${resource.fileUploader}">Row 1 Data 1</td>
<td th:text="${resource.fileSize}">Row 1 Data 2</td>
</tr>
</tbody>
</table><br>
<input type="checkbox" name="selectAll" id="selectAll" onclick="selectAll(this);">全选 
<button type="button" onclick="deleteLogic();">批量删除</button>
2. js代码
/**
* checkbox全选/全不全
* @param checkbox
*/
function selectAll(checkbox) {
$('input[name="checkId"]').prop('checked', $(checkbox).prop('checked'));
} /**
* 批量删除
*/
function deleteLogic() { var checkNum = $("input[name='checkId']:checked").length; if(checkNum==0){
alert("至少选择一项");
return;
} if(confirm("确定要删除吗?")){
var checkList = new Array();
$("input[name='checkId']:checked").each(function () {
checkList.push($(this).val())
});
} $.ajax({
url:"/deleteAll",
type:"post",
data:{
checkList:checkList.toString()
},
datatype:"json",
success:function (data) {
location.reload();
alert("删除成功!")
},
error:function (msg) {
alert("删除失败!")
}
})
}
3. Controller代码
@PostMapping("/deleteAll")
@ResponseBody
public String deleteAll(String checkList){
    System.out.println("==>"+checkList);
    String[] strs = checkList.split(",");
    List<Integer> ids = new ArrayList<>();
    for(String str:strs){
        ids.add(Integer.parseInt(str));
    }
    resourcesService.deleteAll(ids);
    return "success";
}
4. mapper.xml代码
<delete id="deleteAll" parameterType="list">
delete from resources where id in
<foreach collection="list" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
springboot + ajax + mybatis 实现批量删除的更多相关文章
- Mybatis实现批量删除数据
		
Mybatis实现批量删除操作 学习内容: 1. 使用 2. 代码实现 2.1 UserMapper.java 接口 2.2 UserMapper.xml 总结: 学习内容: 1. 使用 这里通过动态 ...
 - mybatis的批量删除
		
公司工程用的是Mybatis的example的类,自动生成了对数据库的操作,批量操作的今天用到了,两种方式,一种需要拓展它生成的类,另一种自带的. 批量删除的id是以集合List传递 id以List& ...
 - (后端)Mybatis实现批量删除操作(转)
		
原文地址:https://blog.csdn.net/javaee_sunny/article/details/52511842 一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在E ...
 - mybatis springmvc批量删除 2最新
		
service层: @Override public void batchDeletes(List list) { creditDao.batchDeletes(list); } 控制层control ...
 - 使用Ajax实现的批量删除操作(C#)
		
今天做了一个简单的批量删除操作,虽然简单,但是很多问题出现,终究还是技术不够熟练. 现在在这里跟大家分享一下.仅供学习... 1.在前台获取用户点击的信息id,把这里id封装到一个数组里面:(rows ...
 - mybatis的批量删除操作
		
需求描述:将符合某条件的几条记录删除 解决思路:对于多个id,可以使用sql关键词 in ,只要满足数据库的id在你的id集合或者list中,就删除,从而实现批量删除.循环delete方法是在是low ...
 - Mybatis实现批量删除
		
知识点:当传入参数为数组时,XX.xml文件中,标签为collection属性 参考博客:https://blog.csdn.net/javaee_sunny/article/details/5251 ...
 - mybatis  postgresql 批量删除
		
一.需求介绍 前端是一个列表页面,列表可以进行复选框的选择,后台进行关联表数据的删除. 二.框架介绍 springboot+mybatis 数据库用的postgresql 三.具体代码(前端js) 1 ...
 - Mybatis批量删除之Error code 1064, SQL state 42000;
		
(一)小小的一次记载. (二):最近的项目都是使用MyBatis,批量新增自己都会写了,但是一次批量删除可把我给折腾了下,写法网上都有,但是照着做就是不行,最后问公司的人,问网友才得到答案,那就是jd ...
 
随机推荐
- C#网页数据采集(三)HttpWebRequest
			
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
 - 带头结点的双向循环链表----------C语言
			
/***************************************************** Author:Simon_Kly Version:0.1 Date: 20170520 D ...
 - linux centos6安装postgresql
			
参考:https://blog.csdn.net/zhu_xun/article/details/21234663 参考:https://www.cnblogs.com/jimcsharp/p/857 ...
 - Hadoop部署项目总结&&解析缓存文件
			
打包hadoop项目需要用fatjar插件进行打包,可以将第三方依赖一起编译进去,否则会找不到mapper类,或者找不到主类main方法. 解析缓存文件代码: @Override protected ...
 - 杂项-笔记-VS:VS2019笔记
			
ylbtech-杂项-笔记-VS:VS2019笔记 1.返回顶部 1. http://www.ddooo.com/softdown/142335.htm 2. 2.返回顶部 3.返回顶部 4. ...
 - 浏览器获取自定义响应头response-headers
			
原创作品版权归属本人所有,违者必究 https://blog.csdn.net/qq_37025445/article/details/82888731想在浏览器获取响应头里面自定义的响应头:file ...
 - pta作业1
			
7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数 ...
 - 20140719  找到单链表的倒数第K个节点  判断一个链表是否成为一个环形 反转
			
1.找到单链表的倒数第K个节点 2.判断一个单链表对否形成环形 3.单链表翻转
 - 牛客练习赛51 B  子串查询    https://ac.nowcoder.com/acm/contest/1083/B
			
题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...
 - string中的stringstream
			
博客: 加速:ios::sync_with_stdio(false); 举个例子: 題目:输入的第一行有一个数字 N 代表接下來有 N 行资料,每一行资料里有不固定个数的整数(最多20个,每行最大20 ...