ssm批量删除

本文介绍了在SSM框架下如何实现批量删除功能,包括环境配置、Dao层、Service层、Controller层的代码实现,以及前端JSP页面中删除确认对话框的JS代码逻辑。通过动态SQL和前端获取选中ID,实现批量删除操作。
摘要由CSDN通过智能技术生成

最近要实现一个功能,效果图如下,当点击最上方复选框可以实现总控制全选和取消操作,然后点击批量删除按钮可以实现删除所选中的数据行
这里写图片描述

环境说明

采用ssm集合框架,配置部分不罗列

Dao层

question.xml

<delete id="deleteMany" parameterType="int">
    delete from test_detail where id in
    <foreach item="qid" collection="array" open="(" separator="," close=")">
        #{qid}
    </foreach>
</delete>

注解说明:
deleteMany:是对应mapper里面的方法
int:因为传入的参数是int[]
id:是我数据表里面的字段名,我是根据id删除的
qid:这是我设置的参数名,要注意item=”qid”和#{qid}要一致
这是动态sql的用法

QuestionMapper.java

public interface QuestionMapper {
    //批量删除
    public Integer deleteMany(int[] id_arr);
}

service层

QuestionService.java

public interface QuestionService {
    //批量删除
    public Integer deleteMany(int[] id_arr);
}

QuestionImpl.java

//注意这里我们加入了@Service注解,主要用来表示这就是一个Service层
@Service
//注意这里有delete方法,所以这里也必须有一个@Transaction注解用来表示事务的操作
@Transactional
public class QuestionImpl implements QuestionService {
   
    @Autowired
    QuestionMapper qm;
    @Override
    public Integer deleteMany(int[] id_arr) {
        // TODO 自动生成的方法存根
        return qm.deleteMany(id_arr);
    }
}

controller层

QuestionController.java

@Controller
@RequestMapping(value="/tec")
public class QuestionController {

    @Autowired
    QuestionService qs;

    @RequestMapping(value="/isdeleteMany.do")
    public String deleteMany(int[] chk_value) {
        System.out.println(chk_value);
        if (chk_value == null ) {
            return "redirect:/tec/init.do";
        }
        //直接传数组
        qs.deleteMany(chk_value);
        //重定向
        return "redirect:/tec/init.do";
    }
}

前端jsp代码

tec_index.jsp

<table>
<tr>
    <td><input type="checkBox" id="selectall" name="case" onclick="cli("case")/></td>
</tr>
<tr>
    <td><input type="checkBox" id="case" name="case"/></td>
    <td>ID:<input type="text"/>1</
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值