layui+ssm实现数据批量删除功能

 更新时间:2023年12月05日 11:48:47   作者:洛洛不觉  
本篇文章给大家介绍layui+ssm实现数据批量删除功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

layui+ssm实现数据的批量删除

在这里插入图片描述

    //数据表格
    table.render({
        id: 'adminList',
        elem: '#adminList',
        url: ctx + "/admin/getAdminList", //数据接口
        cellMinWidth: 80,
        even: true,
        toolbar: '#toolbarDemo',//头部工具栏
        limit: 10,//每页条数
        limits: [10, 20, 30, 40],
        defaultToolbar: ['filter', 'exports', 'print'],
        cols: [[ //表头
            {type: 'checkbox', fixed: 'left'},
            {type: 'numbers', title: '序号', width: 80},//序号列
            // {field: 'id', title: '编号', align: 'center', width: 80},
            {field: 'username', title: '姓名', align: 'center'},
            {field: 'phone', title: '电话', align: 'center'},
            {
                field: 'gender', title: '性别', align: "center", templet: function (d) {
                    if (d.gender == '2') {
                        return '<button class="layui-btn layui-bg-orange layui-btn-xs ">女</button>';
                    } else if (d.gender == '1') {
                        return '<button class="layui-btn layui-bg-cyan layui-btn-xs layui-btn-normal">男</button>';
                    } else if (d.gender == '') {
                        return '<button class="layui-btn layui-bg-red layui-btn-xs layui-btn-normal">未知</button>';
                    } else {
                        return '';
                    }
                }
            },
            {field: 'roleName', title: '账户类型', align: 'center'},
           ],
        page: true,
        loading: true
    });
    /*
    * 监听头部工具栏
    * */
    table.on('toolbar(adminList)', function (obj) {
        var phone = $("#phone").val(); //获取前端页面传过来的当前登录人的手机号
        var id = obj.config.id;//获取当前操作的id
        var checkStatus = table.checkStatus(id);
        var checkData = checkStatus.data; // 获取选中的数据
        switch (obj.event) {
            case 'deleteBatch':
                if (checkData.length === 0) {
                    layer.msg('请选择一行数据再进行操作!');
                } else if (checkData.some(item => item.phone === phone)) {
                    layer.msg("不允许删除当前账户!", {icon: 5});
                } else if (checkData.some(item => item.roleName === "超级管理员")) {
                    layer.msg("此账户你没有权限操作!");
                } else {
                    layer.confirm('确定删除所选账户吗?', function (index) {
                        $.ajax({
                            url: ctx + "/admin/deleteBatch",
                            type: "POST",
                            data: JSON.stringify({ids: checkData}),
                            contentType: "application/json",
                            success: function (d) {
                                if (d.code === 0) {
                                    layer.msg(d.msg, {icon: 1});
                                    table.reload('adminList', {});
                                } else {
                                    layer.msg("失败!", {icon: 5});
                                }
                            },
                            error: function (jqXHR, textStatus, errorThrown) {
                                layer.msg("获取数据失败! 先检查sql 及 Tomcat Localhost Log 的输出");
                            }
                        });
                        layer.close(index);
                    });
                }
                break;
        }
    });

controller

    /*
     * 批量删除
     * */
    // 定义一个名为deleteBatch的方法,用于处理批量删除请求
    @RequestMapping("/deleteBatch")
    @ResponseBody
    public ResultUtil deleteBatch(@RequestBody Map<String, Object> params, HttpSession session) {
        try {
            // 从请求参数中获取要删除的账户ID列表
            List<Integer> ids = (List<Integer>) params.get("ids");
            System.out.println(ids);
            // 调用adminService的deleteByIds方法,根据ID列表批量删除账户
            adminService.deleteByIds(ids);
            // 返回成功结果
            return ResultUtil.ok("批量删除账户成功");
        } catch (Exception e) {
            // 如果发生异常,打印异常堆栈信息
            e.printStackTrace();
            // 返回错误结果,状态码为500,提示信息为"sql问题"
            return new ResultUtil(500, "sql问题");
        }
    }
service
void deleteByIds(List<Integer> ids);
serviceimpl:
   @Override
    public void deleteByIds(List<Integer> ids) {
        adminDao.deleteByIDS(ids);
    }
dao:
 void deleteByIDS( List<Integer> ids);

mapper.xml

  <delete id="deleteByIDS" parameterType="java.util.List">
        DELETE FROM tb_admin
        WHERE id IN
        <foreach collection="list" open="(" close=")" separator="," item="param">
            #{param.id}
        </foreach>
    </delete>

到此这篇关于layui+ssm实现数据批量删除的文章就介绍到这了,更多相关layui ssm批量删除内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript事件委托用法分析

    JavaScript事件委托用法分析

    这篇文章主要介绍了JavaScript事件委托用法,实例分析了使用事件委托触发事件的具体使用技巧,需要的朋友可以参考下
    2015-01-01
  • 使用javascript做时间倒数读秒功能的实例

    使用javascript做时间倒数读秒功能的实例

    今天小编就为大家分享一篇关于使用javascript做时间倒数读秒功能的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • ymyang 绘图 实例代码

    ymyang 绘图 实例代码

    非常不错的ymyang 绘图效果代码。
    2009-04-04
  • JS中confirm,alert,prompt函数区别分析

    JS中confirm,alert,prompt函数区别分析

    JS中confirm,alert,prompt函数使用区别有哪些呢?
    2011-01-01
  • 分享JS数组求和与求最大值的方法

    分享JS数组求和与求最大值的方法

    数组求和在项目需求中还是挺常见的,比如购物车金额统计、人员的前台统计等等。今天小编先是给大家分享了JS数组求和的两个方法,而后又用实例演示js数组求和,并求出数组中的最大值,一起来看看吧。
    2016-08-08
  • JavaScript 面向对象与原型

    JavaScript 面向对象与原型

    这篇文章主要介绍了JavaScript 面向对象与原型,需要的朋友可以参考下
    2015-04-04
  • javascript 深拷贝

    javascript 深拷贝

    突然问起我以前的函数,我也会愣一下,心想,真烂!我总是喜欢把最好的东西分享给大家的,以前的大家忘掉吧。
    2010-03-03
  • 微信小程序开发实现的IP地址查询功能示例

    微信小程序开发实现的IP地址查询功能示例

    这篇文章主要介绍了微信小程序开发实现的IP地址查询功能,可实现基于第三方接口的IP地址查询功能,需要的朋友可以参考下
    2019-03-03
  • ZK中使用JS读取客户端txt文件内容问题

    ZK中使用JS读取客户端txt文件内容问题

    这篇文章主要介绍了ZK中使用JS读取客户端txt文件内容问题,本文通过实例图文相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • javascript eval函数深入认识

    javascript eval函数深入认识

    发现为本文起一个合适的标题还不是那么容易,呵呵,所以在此先说明下本文的两个目的
    2009-02-02

最新评论