ajax将集合list(map键值对)传入后台;批量删除

ajax将集合传入后台

前台js

		let lists=[];
		for (var i=0;i<3;i++){
			var list={};
			list.name="张三";
			list.age="20";
		}
//lists=[{"name":"张三","age":"20},{"name":"张三","age":"20},{"name":"张三","age":"20}]
$.ajax({
            url: '/test',
            type: 'post',//注意用post
            data: JSON.stringify(lists),//集合转换字符
            dataType:"json",//json格式
            contentType : 'application/json;charset=utf-8', //设置请求头信息
            success:function (res) {//成功回调
                if (res==1) {
                    layer.alert("数据正确");//弹框
                }
            },error: function(error){//后台异常信息,异常回调
                layer.alert(error.responseText);//弹框
            }
        })

后台

    @PostMapping("finBanlMessage")//对应前台请求类型
    public Object finBanlMessage(@RequestBody ArrayList<Map<String,Object>> lists) {//用注解接收
        int num=0;
        String bankNames=null;
        String bankwang=null;
        try {
            for (Map<String, Object> x : lists) {
                List<Map<String, Object>> maps = bankReadService.finBanlMessage(x.get("bankNames").toString(), x.get("bankwang").toString());//查询数据库接口
                if(maps.size()>0){
                    num+=1;
                } else{
                    num=0;
                    bankNames=x.get("bankNames").toString();
                    bankwang=x.get("bankwang").toString();
                    throw  new Exception(x.get("bankNames")+","+ x.get("bankwang")+"数据不存在!");
                }
            }
           if(num!=0){
               return "1";
           }else{
               throw  new Exception( bankNames+","+bankwang+",数据不存在!");
           }
        }catch (Exception ex){
            LOGGER.error("finBankCode",ex);
            return bankNames+","+bankwang+",数据不存在!";
        }
    }

批量删除

++前台
//主要内容前台放数组,后台走循环

html代码
 <a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="batchdel">批量删除</a>
/**************///
scpric代码
table.on('toolbar(test)', function(obj) {
	var checkStatus = table.checkStatus(obj.config.id),
		data = checkStatus.data;
	console.log(data)
	console.log(obj.config.id)
	switch(obj.event) {
		case 'batchdel'://上面的名称
			var checkStatus = table.checkStatus(obj.config.id);
			var data = checkStatus.data;
			if(data.length == 0) {
				layer.msg('至少选一个吧');
				return false;
			}
			layer.confirm('真的要删除选中的项吗?', function(
				index) {
				layer.close(index);
				index = layer.load(1, {
					shade: [0.1, '#fff']
				});
				var arr = [];
				for(var i = 0; i < data.length; i++) {
					arr.push(checkStatus.data[i].examId);//改成数据库id
				}
				$.post("/exam/ldelStu", {//接口
					'examId': arr
				}, function(data) {
					var i = data.count;
					if(i >= 1) {
						layer.close(index);
						layer.msg("删除成功!");
						table.reload('tableload');
					} else {
						layer.msg("删除失败!");
					}
				}, 'json');
			})
			break;

	}
});
接口
// 批量删除数据
	int batchStu(ArrayList<Integer> examId);
//控制层
// 批量删除数据
	@RequestMapping("/exam/ldelStu")
	~~//或是@RequestParam("examId")~~ 
	public Object idelStu(@RequestParam("examId[]") ArrayList<Integer> examId) {
		int i = examMapper.batchStu(examId);
		if (i >= 1) {
			return new Result(200, "删除成功", i, examId);
		} else {
			return new Result(402, "删除失败", i, null);
		}
	}
sql代码
//主要内容加上for循环
<!-- 批量逻辑删除 -->
	<update id="batchStu">
		UPDATE exam SET examNum =1 WHERE examId in
		<foreach collection="list" index="no" item="examId" open="("
			separator="," close=")">
			${examId}
		</foreach>
	</update>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值