通过Spring JDBC+checkbox标签实现批量删除功能

来源:互联网 发布:淘宝联盟多店合并下单 编辑:程序博客网 时间:2024/06/01 08:56


最近自己琢磨着,做了一个用Spring JDBC实现对数据库表中的数据实现批量删除的一个小功能。原理很简单,前台通过CheckBox标签选择需要删除的数据,将选中数据的id传递到后台,实现批量删除。话不多说,直接上代码:

Controller层:

@RequestMapping(value="/batchdelete.html")public ModelAndView batchdelete(Notice notice){noticeservice.batchdelete(notice.getId());return new ModelAndView("batchdelete_success");}
Service层:

public void batchdelete(String id){noticedao.batchdelete(id);}
Dao层:

public void batchdelete(String id){String sql="DELETE FROM noticeb WHERE Id =?";final String[] noticeid=id.split(",");jdbcTemplate.batchUpdate(sql,new BatchPreparedStatementSetter(){public void setValues(PreparedStatement ps, int i)throws SQLException {                ps.setString(1, noticeid[i]);}public int getBatchSize(){return noticeid.length;}});}
前台jsp界面:

<form action="<c:url value="batchdelete.html"/>" method="post"><table class="table table-striped"><caption>公告</caption><thead><tr><td><input type="submit" value="批量删除" onclick="return check();"></td></tr><tr><th><input type="checkbox" id="allChecks" onclick="ckall()">全选</th><th align="center">主题</th><th align="center">摘要</th><th align="center">路径</th><th align="center">发布者</th><th align="center">发布时间</th></tr></thead><tbody><c:forEach items="${forums}" var="notice" varStatus="status"><tr><td><input type="checkbox" name="id" value="${notice.id}"></td><td align="center">${notice.title}</td><td align="center">${notice.abst}</td><td align="center"><a href="${notice.url}" target="_blank">${notice.title}</a></td><td align="center">${notice.publisher}</td><td align="center">${notice.publishTime}</td></tr></c:forEach></tbody></table></form>
一段小js代码,用来进行全选/不全选,还有判断是否至少选择一条删除记录:

<script>function ckall(){    var flag=document.getElementById("allChecks").checked;      var cks=document.getElementsByName("id");       for(var i=0;i<cks.length;i++){             cks[i].checked=flag;       }}function check(){var checks = $("input[name='id']:checked");     if(checks.length == 0){       alert('至少选择一条!');     return false;       }     else{     if(confirm('确定删除?')){     return true;     }     else      return false;     }}</script>





原创粉丝点击