datagrid批量删除的部分代码
2016-08-12 15:48
302 查看
前端Js代码
// easyui的datagridAPI var selected = $('#dg').datagrid('getSelections'); if (selected.length <= 0) { return; } $.messager.confirm('确认', '您确认要删除选中条目吗?', function(r) { if (r) { // ajax访问数据库删除选中的条目 $.ajax({ type : 'POST', contentType : 'application/json;charset=utf-8', url : '/TrainingProgramManager/deleteProjects.do', data : JSON.stringify(selected), success : function(rows) { $('#dg').datagrid('reload'); $.messager.show({ title : 'tishi', msg : '共有 ' + rows + ' 条数据被删除', timeout : 2000, showType : 'slide', }); } }); } });
控制层代码
@RequestMapping(value = "/deleteProjects", method = { RequestMethod.POST }) @ResponseBody public int deleteBatch(@RequestBody List<Project> projects) { int rows = projectService.deleteBatch(projects); return rows; }
注:这里的形参List<Project>与AJax所传参数Json格式要对应,不然可能出现415或500异常;
Mybatis中Mapper的写法
先要在Mapper对应的接口中定义方法:public int deleteBatch(List<Project> projects);然后xml文件中这样写:
<delete id="deleteBatch" parameterType="java.util.List"> UPDATE tb_projects SET is_delete = true <where> project_id IN <foreach collection="list" item="proj" open="(" separator="," close=")"> #{proj.id} </foreach> </where> </delete>
注:这里有个地方需要注意:
当传入参数是和我一样的LIst<PO>时,parameterType就java.util.List,foreach中的collection固定为“list”;
当传入参数是数组类型时,parameterType为PO类路径,foreach中的collection固定为“array”(好像写参数名也行,可一试);
当List是组合在一个Vo中时,parameterType则为Vo类路径,foreach中的collection为List在Vo中的属性名;
相关文章推荐
- java实现链表指定值得删除,查找第二部分代码
- Arcengine, 节点编辑 删除一个GeoMetry的第几部分第几个点-----部分代码
- 删除文件中的注释部分代码。。。
- 删除无限级目录与文件代码共享
- 自己写的一个删除目录的代码(自己感觉不错2004-09-12)
- 级联删除的触发器代码解释
- ASP.NET网站全文检索(代码部分)
- Datagrid分页、排序、删除代码
- Guru of the Week 条款21:代码的复杂性(第二部分)
- 软件试用期及试用次数控制(附部分关键代码)!
- c#中DataGrid的数据新增编辑删除操作代码
- c 删除文件中指定的部分内容
- 删除MSSQL危险存储过程的代码
- 连连看的代码(基本算法)加了部分注释
- 删除MSSQL危险存储过程的代码
- 用自删除dll实现应用程序的安装/卸载代码
- [导入]创建一个ASP通用分页类代码部分
- 实现对文件自动打包下载后并删除的代码
- 运行后删除本身的执行文件 代码(vc & bcb 版)
- 从用例到代码,第二部分:用例设计