服务层(Service)
Service是直接继承DAO继承的其他类里面的方法,所以DAO层不需要添加方法。
注意:括号里面是DAO层继承的类(PagingAndSortingRepository<实体类,其主键的类型>,
JpaSpecificationExecutor<实体类>)
//选择删除
public void delete(Message message) {
messageDAO.delete(message);
}
控制器(Controller)
//选择删除
@RequestMapping(value="delete")
public String delete(HttpServletRequest request) {
//这里获取的是Message这个实体类的主键
String[] id=request.getParameterValues("id");
for(int i=0;i<id.length;i++) {
Message message=new Message();
message.setId(Integer.parseInt(id[i]));
messageService.deleteById(Integer.parseInt(id[i]));
}
return "redirect:/message/index";
}
jQuery(主要是用来实现全选和反选)
<script type="text/javascript">
var i=0;
$(function(){
//全选
$("#all").on("click",function(){
if(i==0){
$("input[name='id']").prop("checked",true);
i=1;
}else{
$("input[name='id']").prop("checked",false);
i=0;
}
});
//反选
$("#fan").on("click",function(){
$("input[name='id']").each(function() {
if(this.checked){
this.checked=false;
}else{
this.checked=true;
}
});
});
</script>
HTML
<form method="post" action="/message/delete" th:object="${message}">
<table>
<tr>
<td>ID<input type="checkbox" id="all">全选
<input type="checkbox" id="fan">反选<br>
<input type="submit" value="删除">
</td>
</tr>
//下面的是复选框的位置,一般放在主键的前面
<tr th:each="message: ${data}">
<td><input type="checkbox" name="id" th:value="${message.id}" /><span th:text="${message.id}"></span></td>
</tr>
</table>
下面就是大概的效果: