最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)多選批量刪除功能

 更新時(shí)間:2021年08月26日 09:20:32   作者:蜜桃婷婷醬  
工作中批量刪除可以提高我們的工作效率,今天這篇文章主要介紹了java實(shí)現(xiàn)多選批量刪除功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了java實(shí)現(xiàn)多選批量刪除的具體代碼,幫助大家更好的理解批量刪除功能的實(shí)現(xiàn)過程,供大家參考,具體內(nèi)容如下

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

實(shí)現(xiàn)思路:多選復(fù)選框多個(gè)刪除,點(diǎn)擊全選全部選中,再次點(diǎn)擊全部取消,為了保證操作的安全,應(yīng)該提示框進(jìn)行提升,用戶再次點(diǎn)擊確認(rèn)刪除進(jìn)行刪除,把選中的多個(gè)復(fù)選框的值傳到后端進(jìn)行循環(huán)刪除,最后刷新數(shù)據(jù),公司中為了保證數(shù)據(jù)安全一般不會真正刪除而是把數(shù)據(jù)修改狀態(tài)進(jìn)行隱藏,也就是修改,這邊以完全刪除為例

部分效果截圖(頁面簡陋)

點(diǎn)擊全選

再次點(diǎn)擊全選

刪除提示

確認(rèn)刪除

代碼部分,含有簡單單個(gè)刪除

(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);
        }
        //開始循環(huán)批量刪除
        testService.batchDeletes(delList);
        //重定向刷新數(shù)據(jù)
        return "redirect:/showAnimal";
    }
    @RequestMapping("/delByID")
    public String delByID(int id){
        testService.delByID(id);
        //重定向刷新數(shù)據(jù)
        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

<!--批量刪除 -->
    <delete id="batchDeletes" parameterType="java.util.List">
        delete  from  animal where id in
        <!--循環(huán)刪除 -->
        <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表示集合中每一個(gè)元素進(jìn)行迭代時(shí)的別名. (直接找到對應(yīng)的delList集合里面的所有元素,item="item"中的item(后一個(gè))必須與#{item} 中的item一致)

index指 定一個(gè)名字,用于表示在迭代過程中,每次迭代到的位置.

open表示該語句以什么開始,separator表示在每次進(jìn)行迭代之間以什么符號作為分隔 符.

close表示以什么結(jié)束.

前端頁面代碼

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: wx_weiyihe
  Date: 2021/8/24
  Time: 14:45
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<html>
<head>
    <title>Title</title>

</head>
<body>
   <input type="button" value="批量刪除" id="deleteButton">
   <table border="1px" cellspacing="0px">
       <tr>
           <th align="center">
               <input type="checkbox" id="SelectAll" onclick="selectAll();" /> 全選</th>
           <th>ID</th>
           <th>名稱</th>
           <th>年齡</th>
           <th>操作</th>
       </tr>
       <c:forEach items="${list}" var="animal">
           <tr>
               <td align="center"><input type="checkbox" name="checkbox" value="${animal.id}"></td>
               <td>${animal.id}</td>
               <th>${animal.name}</th>
               <th>${animal.age}</th>
               <th><input type="button" value="刪除" onclick="delByID('${animal.id}')"></th>
           </tr>
       </c:forEach>
   </table>
</body>
<script>
    //全選(全不選)
    function selectAll(){
        //如果選擇全選按鈕
        if ($("#SelectAll").is(":checked")) {
            $(":checkbox").prop("checked", true);//所有選擇框都選中
        } else {  //如果沒有選擇全選按鈕
            $(":checkbox").prop("checked", false); //全部不選中
        }
    }
    //批量刪除
    $("#deleteButton").on("click", function() {
        //判斷至少寫了一項(xiàng)
        var checkedNum = $("input[name='checkbox']:checked").length;
        if (checkedNum == 0) {
            alert("請至少選擇一項(xiàng)!");
            return false;
        }
        //創(chuàng)建數(shù)組,存儲選擇的id
        var checkedList = new Array();
        $("input[name='checkbox']:checked").each(function () {
            //把當(dāng)前選中的復(fù)選框的id存入數(shù)組中
            checkedList.push($(this).val());
        });

        //提示刪除
        var flag=confirm("確認(rèn)要?jiǎng)h除這"+checkedList.length+"條數(shù)據(jù)嗎?")
        if(flag){
            //傳參,后端繼續(xù)進(jìn)行刪除操作,傳到后端的是一個(gè)String數(shù)組
            window.location.href="http://localhost:8080/batchDeletes?ids=" rel="external nofollow" +checkedList;
        }

    })
    //單個(gè)刪除
    function delByID(id){
        window.location.href="http://localhost:8080/delByID?id=" rel="external nofollow" +id
    }

</script>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • feign調(diào)用返回object類型轉(zhuǎn)換方式

    feign調(diào)用返回object類型轉(zhuǎn)換方式

    這篇文章主要介紹了feign調(diào)用返回object類型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 詳解Java中的File文件類以及FileDescriptor文件描述類

    詳解Java中的File文件類以及FileDescriptor文件描述類

    在Java中File類可以用來新建文件和目錄對象,而FileDescriptor類則被用來表示文件或目錄的可操作性,接下來我們就來詳解Java中的File文件類以及FileDescriptor文件描述類
    2016-06-06
  • RabbitMQ之死信隊(duì)列深入解析

    RabbitMQ之死信隊(duì)列深入解析

    這篇文章主要介紹了RabbitMQ之死信隊(duì)列深入解析,?死信,顧名思義就是無法被消費(fèi)的消息,字面意思可以這樣理解,一般來說,producer將消息投遞到 broker 或者直接到 queue 里了,consumer 從 queue 取消息進(jìn)行消費(fèi),需要的朋友可以參考下
    2023-09-09
  • Java 線程狀態(tài)和等待喚醒機(jī)制和線程池的實(shí)現(xiàn)

    Java 線程狀態(tài)和等待喚醒機(jī)制和線程池的實(shí)現(xiàn)

    這篇文章主要介紹了Java 線程狀態(tài)和等待喚醒機(jī)制和線程池的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Java中StringUtils工具類的一些用法實(shí)例

    Java中StringUtils工具類的一些用法實(shí)例

    這篇文章主要介紹了Java中StringUtils工具類的一些用法實(shí)例,本文著重講解了isEmpty和isBlank方法的使用,另外也講解了trim、strip等方法的使用實(shí)例,需要的朋友可以參考下
    2015-06-06
  • java ArrayList按照同一屬性進(jìn)行分組

    java ArrayList按照同一屬性進(jìn)行分組

    這篇文章主要介紹了java ArrayList按照同一屬性進(jìn)行分組的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java獲取堆棧信息的三種方法小結(jié)

    Java獲取堆棧信息的三種方法小結(jié)

    在Java編程中,獲取堆棧信息對于調(diào)試和故障排除非常重要,Java提供了多種方式來獲取當(dāng)前線程的堆棧信息,下面就跟隨小編一起學(xué)習(xí)一下常用的三種吧
    2024-03-03
  • SWT(JFace)體驗(yàn)之List演示匯總

    SWT(JFace)體驗(yàn)之List演示匯總

    SWT(JFace)體驗(yàn)之List演示代碼匯總
    2009-06-06
  • 反射機(jī)制:getDeclaredField和getField的區(qū)別說明

    反射機(jī)制:getDeclaredField和getField的區(qū)別說明

    這篇文章主要介紹了反射機(jī)制:getDeclaredField和getField的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中的main函數(shù)的詳細(xì)介紹

    Java中的main函數(shù)的詳細(xì)介紹

    這篇文章主要介紹了Java中的main函數(shù)的詳細(xì)介紹的相關(guān)資料,main()函數(shù)在java程序中必出現(xiàn)的函數(shù),這里就講解下使用方法,需要的朋友可以參考下
    2017-09-09

最新評論

营口市| 万源市| 邯郸县| 华容县| 大足县| 宜君县| 运城市| 牡丹江市| 商水县| 惠东县| 乐平市| 桂东县| 晋江市| 绍兴县| 微山县| 奉化市| 吐鲁番市| 祁门县| 高平市| 台南市| 蕉岭县| 伊春市| 广西| 叙永县| 长泰县| 邯郸市| 石渠县| 菏泽市| 民丰县| 磐安县| 元谋县| 洮南市| 丹棱县| 二连浩特市| 聂荣县| 甘南县| 电白县| 乌拉特中旗| 台山市| 家居| 芜湖县|