开发环境
- IDEA2018.2.2
- tomcat7.0.94
- JDK1.8
- MySQL5.5.58
- Maven3.6.0
开发前提
已有所需工程项目及前端页面文件、配置文件等
开发步骤
1.在user-list.jsp文件的<head>标签对里加入如下代码:
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
function deleteAll(){
var checkNum = $("input[name='ids']:checked").length;
if(checkNum==0){
alert("请至少选择一项!");
return;
}
if(confirm("确定要删除吗?")){
var userList = new Array();
$("input[name='ids']:checked").each(function(){
userList.push($(this).val())
});
}
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/user/deleteAll.do",
data:{userList:userList.toString()},
success:function(){
alert("删除成功!");
location.reload();
},
error:function () {
alert("删除失败!");
}
})
}
</script>
2.将user-list.jsp文件中批量删除按钮的onclick属性值修改为"deleteAll()";
3.给user-list.jsp文件的checkbox标签加一个属性value,值为"${userInfo.id}";
4.在IUserInfoDao接口中添加一个函数声明:
void deleteAll(List<Integer> ids);
5.在UserInfoMapper.xml的<mapper>标签对里添加如下代码:
<delete id="deleteAll" parameterType="java.util.List">
delete from userinfo where id in
<foreach collection="list" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
6.在IUserInfoService接口中声明如下方法:
void deleteAll(List<Integer> ids);
7.在UserInfoServiceImpl类中实现如下方法:
@Override
public void deleteAll(List<Integer> ids) {
userInfoDao.deleteAll(ids);
}
8.在UserInfoController类中添加如下代码:
@RequestMapping("deleteAll.do")
@ResponseBody
public String deleteAll(String userList){
String[] strs = userList.split(",");
List<Integer> ids = new ArrayList<>();
for(int i=0;i<strs.length;i++){
ids.add(Integer.parseInt(strs[i]));
}
userInfoService.deleteAll(ids);
return "";
}
9.至此,批量删除功能已经实现。