mybatis----批量删除
来源:互联网 发布:角度测量软件 编辑:程序博客网 时间:2024/06/03 12:55
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
1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可以封装成map,实际上如果你在传入参数的时候,在breast里面也 是会把它封装成一个Map的,map的key就是参数名,所以这个时候collection属性值就是传入的List或array对象在自己封装的map 里面的key.
在Mapper.xml文件中
1 <!-- 批量删除 -->2 <delete id="deleteAd" parameterType="java.util.List">3 update cnt_advert set is_enable = '0'4 where id in5 <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放入list10 * 11 * @param id12 * 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 }
阅读全文
0 0
- mybatis批量插入、批量删除
- mybatis批量删除
- mybatis 批量删除
- mybatis 批量删除
- mybatis 批量删除
- Mybatis实现批量删除
- mybatis 批量删除
- mybatis批量插入、删除
- Mybatis批量删除
- Mybatis 批量删除
- mybatis的批量删除
- Mybatis 批量删除
- Mybatis批量删除
- mybatis批量删除mapper
- mybatis中批量删除
- mybatis批量删除
- mybatis springmvc批量删除
- mybatis----批量删除
- 渐变染色
- Web开发——获取查询内容(内容分页显示)【前台页面部分】
- XMU C语言程序设计实践(1)
- Android:Activity 与 Fragment 通信 (99%) 完美解决方案
- Android Launcher 专属页和生活页的实现(二)
- mybatis----批量删除
- python matplotlib的使用
- WinForm数据绑定-简单绑定1
- IE调用Activex控件时EVENT的三种调用方式
- JAVA学习第一天知识点
- iOS中物理单位换算
- 一个效果很棒的搜索框,跟srollview更配---从EMUI有感而写
- maven项目中jsp不能编译情况(Unable to compile class for JSP)
- 正则表达式使用详解