SSM 框架的批量删除

JSP  页面部分   批量删除 里面  ${QX.del}是来判断该用户是否有该权限
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn"  uri="http://java.sun.com/jsp/jstl/functions"%>


<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>




<%@ include file="../admin/top.jsp"%> 

 









 





























































图片 货物编号 货物名称 货物规格 所属品牌 计量单位 零售价 自提价格 配送价格 货物分类 供应商 库存量 已售量 是否上架 是否推荐 操作

        src="<%=basePath%>../uploadFiles/uploadImgs/${agl.imgurl}"
 οnclick="photo('${agl.pk_ax_goods}');"  >
${agl.goodcode} ${agl.goodname} ${agl.goodspec} ${agl.brands} ${agl.measurename} ${agl.price} ${agl.def18} ${agl.def19} ${agl.goodcla} ${agl.supplier} ${agl.inventory} ${agl.salenumber}
         
         

         
         


您无权查看
没有相关数据












       










   




==================
后台部分
@RequestMapping(value = "/deleteAll")
@ResponseBody
public Object deleteAll() {
PageData pd = new PageData();
Map map = new HashMap();
try {
pd = this.getPageData();
List pdList = new ArrayList();
String v = pd.getString("v");


if (null != v && !"".equals(v)) {
String Arrayvehicle[] = v.split(",");
if (Jurisdiction.buttonJurisdiction(menuUrl, "del")) {
axGoodsService.deleteAll(Arrayvehicle);
}
pd.put("msg", "ok");
} else {
pd.put("msg", "no");
}
pdList.add(pd);
map.put("list", pdList);
} catch (Exception e) {
logger.error(e.toString(), e);
} finally {
logAfter(logger);
}
return AppUtil.returnObject(pd, map);
}



=====service

public void deleteAll(String[] v) throws Exception {
this.daoSupport.update("AxGoodsMapper.deleteAll", v);
}



mybatis操作数据库部分




 

update ax_goods set dr=1
where
pk_ax_goods in
separator="," close=")">
#{item}









MyBatis的foreach语句详解


foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况下,该属性的值是不一样的,主要有一下3种情况:

1.    如果传入的是单参数且参数类型是一个List的时候,collection属性值为list

2.    如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array

3.    如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map,实际上如果你在传入参数的时候,在breast里面也是会把它封装成一个Map的,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map里面的key

下面分别来看看上述三种情况的示例代码:

1.单参数List的类型:
 

  
上述collection的值为list,对应的Mapper是这样的

List ids = newArrayList();
 

     ids.add(1);
      ids.add(3);
      ids.add(6);

2.单参数array数组的类型:
 

  
上述collection为array,对应的Mapper代码:

2.单参数array数组的类型:
 

  
上述collection为array,对应的Mapper代码:

3.自己把参数封装成Map的类型
 

  
上述collection的值为ids,是传入的参数Map的key,对应的Mapper代码:

List ids = newArrayList();
 

     ids.add(1);
      ids.add(2);
      ids.add(3);
      ids.add(6);
      ids.add(7);
      ids.add(9);
      Map params = newHashMap();
      params.put("ids", ids);
      params.put("title", "中国");










 

你可能感兴趣的:(springMVC)