java如何实现多选批量删除功能(java,开发技术)

时间:2024-05-09 08:31:26 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

本文用到的框架是:springmvc+mybatis

实现思路:多选复选框多个删除,点击全选全部选中,再次点击全部取消,为了保证操作的安全,应该提示框进行提升,用户再次点击确认删除进行删除,把选中的多个复选框的值传到后端进行循环删除,最后刷新数据,公司中为了保证数据安全一般不会真正删除而是把数据修改状态进行隐藏,也就是修改,这边以完全删除为例

部分效果截图(页面简陋)

java如何实现多选批量删除功能

点击全选

java如何实现多选批量删除功能

再次点击全选

java如何实现多选批量删除功能

删除提示

java如何实现多选批量删除功能

确认删除

java如何实现多选批量删除功能

代码部分,含有简单单个删除

(1)controller

@RequestMapping("/batchDeletes")//批量删除publicStringdelAnimal(Stringids){List<String>delList=newArrayList<String>();String[]strs=ids.split(",");for(Stringstr:strs){delList.add(str);}//开始循环批量删除testService.batchDeletes(delList);//重定向刷新数据return"redirect:/showAnimal";}@RequestMapping("/delByID")publicStringdelByID(intid){testService.delByID(id);//重定向刷新数据return"redirect:/showAnimal";}

代码思路:

从前台勾选的选择框中传过来的值用“,”分开,然后遍历存放到delList集合里面,直接删delList集合里面的所有字符串。

(2)service

voidbatchDeletes(ListdelList);voiddelByID(intid);

(3)serviceImpl

@OverridepublicvoidbatchDeletes(ListdelList){testDao.batchDeletes(delList);}@OverridepublicvoiddelByID(intid){testDao.delByID(id);}

(4)dao

voidbatchDeletes(ListdelList);voiddelByID(intid);

(5)mapper.xml

<!--批量删除--><deleteid="batchDeletes"parameterType="java.util.List">deletefromanimalwhereidin<!--循环删除--><foreachcollection="list"index="index"item="item"open="("separator=","close=")">#{item}</foreach></delete><deleteid="delByID"parameterType="int">deletefromanimalwhereid=#{id}</delete>

如上的mybatis指代的意思如下:

foreach元素的属性主要有 item,index,collection,open,separator,close。

item表示集合中每一个元素进行迭代时的别名. (直接找到对应的delList集合里面的所有元素,item="item"中的item(后一个)必须与#{item} 中的item一致)

index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置.

open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符.

close表示以什么结束.

前端页面代码

<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%--CreatedbyIntelliJIDEA.User:wx_weiyiheDate:2021/8/24Time:14:45TochangethistemplateuseFile|Settings|FileTemplates.--%><%@pagecontentType="text/html;charset=UTF-8"language="java"%><scriptsrc="https://code.jquery.com/jquery-3.1.1.min.js"></script><html><head><title>Title</title></head><body><inputtype="button"value="批量删除"id="deleteButton"><tableborder="1px"cellspacing="0px"><tr><thalign="center"><inputtype="checkbox"id="SelectAll"onclick="selectAll();"/>全选</th><th>ID</th><th>名称</th><th>年龄</th><th>操作</th></tr><c:forEachitems="${list}"var="animal"><tr><tdalign="center"><inputtype="checkbox"name="checkbox"value="${animal.id}"></td><td>${animal.id}</td><th>${animal.name}</th><th>${animal.age}</th><th><inputtype="button"value="删除"onclick="delByID('${animal.id}')"></th></tr></c:forEach></table></body><script>//全选(全不选)functionselectAll(){//如果选择全选按钮if($("#SelectAll").is(":checked")){$(":checkbox").prop("checked",true);//所有选择框都选中}else{//如果没有选择全选按钮$(":checkbox").prop("checked",false);//全部不选中}}//批量删除$("#deleteButton").on("click",function(){//判断至少写了一项varcheckedNum=$("input[name='checkbox']:checked").length;if(checkedNum==0){alert("请至少选择一项!");returnfalse;}//创建数组,存储选择的idvarcheckedList=newArray();$("input[name='checkbox']:checked").each(function(){//把当前选中的复选框的id存入数组中checkedList.push($(this).val());});//提示删除varflag=confirm("确认要删除这"+checkedList.length+"条数据吗?")if(flag){//传参,后端继续进行删除操作,传到后端的是一个String数组window.location.href="http://localhost:8080/batchDeletes?ids="rel="externalnofollow"+checkedList;}})//单个删除functiondelByID(id){window.location.href="http://localhost:8080/delByID?id="rel="externalnofollow"+id}</script></html>
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:java如何实现多选批量删除功能的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:python中错误和异常处理的示例分析下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18