耀眼的橘子的gravatar头像
耀眼的橘子 2016-09-29 13:02:29

mybatis批量删除(逻辑删除)

在Mapper.xml文件中

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

在 Dao层中:

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

在service层中:

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

在service层的实现层中:

       @Override
	public void deleteAd(String id) {
		// TODO Auto-generated method stub
		List<String> list = getList(id);
		dao.deleteAd(list);
	}
	
	/**
	 * id放入list
	 * 
	 * @param id
	 *            id(多个已逗号分隔)
	 * @return List集合
	 */
	public List<String> getList(String id) {
		List<String> list = new ArrayList<String>();
		String[] str = id.split(",");
		for (int i = 0; i < str.length; i++) {
			list.add(str[i]);
		}
		return list;
	}

在controller层中:

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

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

function delad() {
	var rowIds = jQuery("#gridTable").jqGrid('getGridParam', 'selarrrow'); 
	var ids = "";
    if(rowIds.length){
        for(var i in rowIds){
        	var id= jQuery('#gridTable').jqGrid('getCell',rowIds[i],'id');
        	ids += id + ",";
        }
		$.ajax({
			url: ,//这是一个请求,请自行填写
			data:{"id":ids},
			type: "post",
			dataType : 'json',
			success:function(data){
				if(data == '1'){
					jQuery("#gridTable").trigger("reloadGrid");
				}else{
					alert("删除失败!!!请刷新页面重试。");
				}
			}
		});
    }else{
    	alert("请至少选择一个商品!!!");
    }
}

打赏

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友