蓝缘基础框架项目-字典批量删除

今天给大家介绍的是字典维护中的批量删除,页面列表图展示如下:
在这里插入图片描述
下面直接上前端逻辑代码:

$("#deleteView").click("click", function() {//绑定删除按扭
      var cbox=grid.getSelectedCheckbox();
      if (cbox.length == 0) {
        parent.$.ligerDialog.alert("请选择删除项");
        return;
      }
      parent.$.ligerDialog.confirm('删除后不能恢复,确定删除吗?', function(confirm) {
        if (confirm) {
          $.ajax({
              type: "post", //使用get方法访问后台
              dataType: "json", //json格式的数据
              async: false, //同步   不写的情况下 默认为true
              url: rootPath + '/background/dic/deleteByIds.html', //要访问的后台地址
              data: {ids:cbox.join(",")}, //要发送的数据
              success: function(data){
                if (data.flag == "true") {
                  parent.$.ligerDialog.success('删除成功', '提示', function() {
                    loadGird();//重新加载表格数据
                });
              }else{
                parent.$.ligerDialog.warn("删除失败");
              }
            }
          });
        }
      });
    });

逻辑说明:

1、首先判断是否选择了删除项,若没有选择,则提示至少选择一条记录。
2、选择删除项后,提示是否真的删除,若确定删除,则调用后台deleteByIds接口。
3、在处理多条记录时,用逗号拼接上送。

后台逻辑代码:

 /**
   * 删除字典
   */
  @ResponseBody
  @RequestMapping("deleteById")
  public Map<String, Object> deleteById(Model model, String ids) {
    Map<String, Object> map = new HashMap<String, Object>();
    try {
      String id[] = ids.split(",");
      for (String string : id) {
        if(!Common.isEmpty(string)){
          dicService.delete(string);
        }
      }
      map.put("flag", "true");
    } catch (Exception e) {
      map.put("flag", "false");
    }
    return map;
  }

逻辑说明:

1、对上送ids进行逗号分隔,对于单个不为空的数据进行调用删除服务。
2、删除服务调用时mapper中的delete。

mapper写法:

<delete id="delete" parameterType="String">
    delete from dic where id=#{id}
  </delete>

另外:
1、这种写法比较low,大家可以采用集合的方式更好的处理批量删除。
2、在mybatis中采用foreach 来处理集合。

改造后的代码:

 /**
   * 删除字典
   */
  @ResponseBody
  @RequestMapping("deleteByIds")
  public Map<String, Object> deleteByIds(Model model, String ids) {
    Map<String, Object> map = new HashMap<String, Object>();
    try {
      String[] idList = ids.split(",");
      map.put("flag", dicService.deleteBatch(idList));
    } catch (Exception e) {
      map.put("flag", false);
    }
    return map;
  }

对应mapper:

<delete id="deleteBatch"  parameterType="java.lang.String">
    DELETE FROM sys_dic WHERE id in
    <foreach collection="array" item="id" open="(" separator="," close=")">
      #{id}
    </foreach>
  </delete>

在这里插入图片描述
软件定制及其他业务
请加微信号:13128600812

公众号:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张先生程序猿

谢谢您的打赏,我会持续创作下去

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值