mybatis批量删除(逻辑删除)

在Mapper.xml文件中

1 <!-- 批量删除 -->
2     <delete id="deleteAd" parameterType="java.util.List">
3         update cnt_advert set is_enable = '0'
4         where id in
5         <foreach item="id" collection="list" open="(" close=")" separator=",">
6             #{id}
7         </foreach>
8     </delete>

在 Dao层中:

/**
 * 批量删除
 * @param list 集合
 */
public void deleteAd(List<String> list);

在service层中:

1 /**
2  * 批量删除
3  * @param id 传入参数 
4  */
5 public void deleteAd(String id);

在service层的实现层中:

 1 @Override
 2 public void deleteAd(String id) {
 3     // TODO Auto-generated method stub
 4     List<String> list = getList(id);
 5     dao.deleteAd(list);
 6 }
 7 
 8 /**
 9  * id放入list
10  * 
11  * @param id
12  *            id(多个已逗号分隔)
13  * @return List集合
14  */
15 public List<String> getList(String id) {
16     List<String> list = new ArrayList<String>();
17     String[] str = id.split(",");
18     for (int i = 0; i < str.length; i++) {
19         list.add(str[i]);
20     }
21     return list;
22 }

在controller层中:

 1 @RequestMapping(value = "/") //请自行填写
 2 @ResponseBody
 3 public String delAdvert(HttpServletRequest request) throws Exception {
 4     String id = request.getParameter("id");
 5     String msg = "";
 6     advertService.deleteAd(id);
 7     msg = MessageConstant.RETURN_SUCCESS_MSG;//成功
 8         
 9     LOGGER.debug("删除广告(0-失败,1-成功):" + msg);
10     return msg;
11 }

在前台页面的 JS 方法中:(这里我是用了 JqGrid插件)

 1 function delad() {
 2     var rowIds = jQuery("#gridTable").jqGrid('getGridParam', 'selarrrow'); 
 3     var ids = "";
 4     if(rowIds.length){
 5         for(var i in rowIds){
 6             var id= jQuery('#gridTable').jqGrid('getCell',rowIds[i],'id');
 7             ids += id + ",";
 8         }
 9         $.ajax({
10             url: ,//这是一个请求,请自行填写
11             data:{"id":ids},
12             type: "post",
13             dataType : 'json',
14             success:function(data){
15                 if(data == '1'){
16                     jQuery("#gridTable").trigger("reloadGrid");
17                 }else{
18                     alert("删除失败!!!请刷新页面重试。");
19                 }
20             }
21         });
22     }else{
23         alert("请至少选择一个商品!!!");
24     }
25 }