本文为大家分享了java实现多选批量删除的具体代码,帮助大家更好的理解批量删除功能的实现过程,供大家参考,具体内容如下
本文用到的框架是:springmvc+mybatis
实现思路:多选复选框多个删除,点击全选全部选中,再次点击全部取消,为了保证操作的安全,应该提示框进行提升,用户再次点击确认删除进行删除,把选中的多个复选框的值传到后端进行循环删除,最后刷新数据,公司中为了保证数据安全一般不会真正删除而是把数据修改状态进行隐藏,也就是修改,这边以完全删除为例
部分效果截图(页面简陋)
点击全选
再次点击全选
删除提示
确认删除
代码部分,含有简单单个删除
(1)controller
@RequestMapping("/batchDeletes") //批量删除 public String delAnimal(String ids){ List<String> delList = new ArrayList<String>(); String[] strs = ids.split(","); for (String str : strs) { delList.add(str); } //开始循环批量删除 testService.batchDeletes(delList); //重定向刷新数据 return "redirect:/showAnimal"; } @RequestMapping("/delByID") public String delByID(int id){ testService.delByID(id); //重定向刷新数据 return "redirect:/showAnimal"; }
代码思路:
从前台勾选的选择框中传过来的值用“,”分开,然后遍历存放到delList集合里面,直接删delList集合里面的所有字符串。
(2)service
void batchDeletes(List delList); void delByID(int id);
(3)serviceImpl
@Override public void batchDeletes(List delList) { testDao.batchDeletes(delList); } @Override public void delByID(int id) { testDao.delByID(id); }
(4)dao
void batchDeletes(List delList); void delByID(int id);
(5)mapper.xml
<!--批量删除 --> <d<b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b>elete id="batchDeletes" parameterType="java.util.List"> delete from animal where id in <!--循环删除 --> <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </delete> <delete id="delByID" parameterType="int"> delete from animal where id=#{id} </delete>
如上的mybatis指代的意思如下:
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名. (直接找到对应的delList集合里面的所有元素,item=”item”中的item(后一个)必须与#{item} 中的item一致)