批量删除和删除

mapper

    int deleteById(Integer id);

xml

    <!--按条件删除-->
    <delete id="deleteById" parameterType="int">
  		delete from purchase where id =#{id}
   </delete>

service

   /**
     * 删除
     */
    int deleteById(Integer id);

    /**
     * 批量删除
     * @param ids
     * @return
     */
    boolean deleteByIds(int[] ids);

BookController

 /*----------------------------------删除---------------------------------------*/
    @PostMapping("/del")
    @ResponseBody
    public int del(@RequestBody Integer id){
     return bookService.deleteById(id);

    }


    /*------------------------批量删除---------------------------------------------------*/

    @PostMapping("/delall")
    @ResponseBody
    public int deletes(@RequestBody Book[] book){
        for (int i = 0; i <book.length ; i++) {
           bookService.deleteById(book[i].getId());
        }
        return 0;

前端

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
    <script src="${pageContext.request.contextPath}/js/jquery-3.4.1.min.js"></script>
   <script>
     function btn1(obj,id){//id为取到的行id
         var r=confirm("是否确认删除?");
         if(r==true){
             //确定执行删除
             var id = id;
             $.post({
                data:id,
                 type:'post',
                 contentType:"application/json;charset=UTF-8",
                 url : '${pageContext.request.contextPath }/del',
                 dataType : 'json',
                 success : function(data) {
                     if(data){
                         alert("删除成功!");
                         //删除成功后,刷新页面信息
                         location.reload();
                     }else{
                         alert("删除失败!!");
                     }
                 },
             });
             return true;
         }else{
             //反之取消删除
             return false;
         }
     }

     //复选框全部选中
     $(function(){
         $('#selectall').click(function(){
             var flag=$(this).is(':checked');
             var checks=$('input[name="checktest"]');

             $.each(checks,function(){
                 $(this).prop('checked',flag);  //注意attr只能使用一次,第二次勾不管用。prop随时管用。

             })
         })

     })
    </script>
    <script>
        /*封面图-批量删除*/
        //批量删除

        function deletes(obj){
            var str1=new Array();
            $.each($('input:checkbox:checked'),function(){
                var data1={"id":$(this).val()};
                str1.push(data1);
            });
            console.log(str1);
            if (str1.length == 0)
                return false;
            if(confirm("确定删除吗?")){
                debugger
                $.ajax({
                    type: 'post',
                    url: '${pageContext.request.contextPath }/delall',
                    data:JSON.stringify(str1),
                    contentType:"application/json;charset:UTF-8",
                    success: function(data){
                        if(data==0){
                            alert("批量删除成功");
                            //parent.window.location.reload();
                        }
                    }
                });
                return true;
            }else {
                return false;
            }
        }

    </script>
</head>
<body>

<form action="/list" method="post">

    id:<input type="text" value="${book.id}" name="id" id="id">
    name:<input type="text" value="${book.name}" name="name" id="name">
    data:<input type="text" value="${book.date}" name="date" id="date">
    <%--<button id="btn1">搜索</button>--%>
    <input type="submit" value="搜索"/>
</form>
<a href="list">查看</a>
<a title="批量删除" href="javascript:;" onclick="deletes(this,'${s.id}')">批量删除</a>
<a href="/add.jsp">添加</a>
<table id="dataTable">

    <tr>
       <%-- <th>循环次数</th>--%>
        <th width="100"><input type="checkbox" name="" value="" id="selectall"></th>

        <th width="100">id</th>
        <th width="100">name</th>
        <th width="100">date</th>
        <th width="100">操作</th>

    </tr>


   <c:forEach items="${pageInfo.list}" var="s" varStatus="stat">
        <tr style="text-align: center"><%--居中--%>
         <td ><input type="checkbox" value="${s.id}" name="checktest"></td>
             <td value="list[${a.index }].id">${s.id }</td>

       <%--   <td>${s.id}</td>--%>
            <td>${s.name}</td>
            <td>${s.date}</td>
           <td><a title="删除" href="javascript:;" onclick="btn1(this,'${s.id}')">删除</a>

       <%--   <td ><input type="checkbox" value="${s.id}" name="checktest" varStatus="a" value="user[${a.index }].id"></td>--%>
        <a href="/selectById?id=${s.id}">修改</a></td>

        </tr>
    </c:forEach>


    <tr>
        <td><span>第${pageInfo.pageNum}/共${pageInfo.pages}</span></td>
        <td><a href="list?pageNum=0">首页</a>
        <a href="list?pageNum=${pageInfo.total}&name=${book.name}&id=${book.id}&date=${book.date}">尾页</a></td>
        <td>总共:${pageInfo.total}条记录</td>
        <div id="inputdiv">
            <a href="list?pageNum=${pageInfo.pageNum-1}&name=${book.name}&id=${book.id}&date=${book.date}">上一页</a>
            <a href="list?pageNum=${pageInfo.pageNum+1}&name=${book.name}&id=${book.id}&date=${book.date}">下一页</a>

        </div>
    </tr>
    <tr>
        <td><c:forEach items="${pageInfo.navigatepageNums}" var="num">
            <c:if test="${num==pageInfo.pageNum}">
                【${num}&nbsp;
            </c:if>
            <c:if test="${num!=pageInfo.pageNum}">
                <a href="list?pageNum=${num}">${num}</a>
            </c:if>
        </c:forEach>
        </td>
    </tr>
    共有<strong id="show_num">${pageInfo.total}</strong>条数据

</table>
</body>
</html>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值