• 全选+批量删除


    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ include file="/back_page/head.jsp" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>babasport-list</title>
    <script type="text/javascript">
    	function checkBox(name,checked){
    		$("input[name='"+name+"']").attr("checked",checked)
    	}
    	function optDelete(name,isDisplay) {
    		//至少选择一个
    		var s=$("input[name='ids']:checked").size();
    		if(s<=0){
    			alert("至少选择一个");
    			return;
    		}
    		if(!confirm("确定删除吗")){
    			return;
    		}
    		//删除
    		$("#form1").attr("action","/cn/brand/deletes.do?name="+name+"&isDisplay="+isDisplay);
    		$("#form1").attr("method","post").submit();
    	}
    </script>
    </head>
    <body>
    <div class="box-positon">
    	<div class="rpos">当前位置: 品牌管理 - 列表</div>
    	<form class="ropt">
    		<input class="add" type="button" value="添加" onclick="javascript:window.location.href='/cn/brand/toAdd.do'"/>
    	</form>
    	<div class="clear"></div>
    </div>
    <div class="body-box">
    <form action="/cn/brand/list.do" method="post" style="padding-top:5px;">
    品牌名称: <input type="text" name="name" value="${name}"/>
    	<select name="isDisplay">
    		<option value="1" <c:if test="${isDisplay ==1 }">selected="selected"</c:if>>是</option>
    		<option value="0" <c:if test="${isDisplay ==0 }">selected="selected"</c:if>>不是</option>
    	</select>
    	<input type="submit" class="query" value="查询"/>
    </form>
    <form id="form1">
    <table cellspacing="1" cellpadding="0" border="0" width="100%" class="pn-ltable">
    	<thead class="pn-lthead">
    		<tr>
    			<th width="20"><input type="checkbox" onclick="checkBox('ids',this.checked)"/></th>
    			<th>品牌ID</th>
    			<th>品牌名称</th>
    			<th>品牌图片</th>
    			<th>品牌描述</th>
    			<th>排序</th>
    			<th>是否可用</th>
    			<th>操作选项</th>
    		</tr>
    	</thead>
    	
    	<tbody class="pn-ltbody">
    	
    	<c:forEach items="${pagination.list}" var="entry">
    		<tr bgcolor="#ffffff" onmouseout="this.bgColor='#ffffff'" onmouseover="this.bgColor='#eeeeee'">
    			<td><input type="checkbox" value="${entry.id}" name="ids"/></td>
    			<td align="center">${entry.id}</td>
    			<td align="center">${entry.name}</td>
    			<td align="center"><img width="40" height="40" src="${entry.allUrl}"/></td>
    			<td align="center">${entry.description}</td>
    			<td align="center">${entry.sort}</td>
    			<td align="center"><c:if test="${entry.isDisplay==1}">是</c:if><c:if test="${entry.isDisplay==0 }">不是</c:if></td>
    			<td align="center">
    			<a class="pn-opt" href="/cn/brand/toEditor.do?id=${entry.id}">修改</a> | <a class="pn-opt" onclick="if(!confirm('您确定删除吗?')) {return false;}"
    href="/cn/brand/delete.do?id=${entry.id}&name=${entry.name}&isDisplay=${entry.isDisplay}">删除</a> </td> </tr> </c:forEach> </tbody> </table> </form> <div class="page pb15"><span class="r inb_a page_b"> <c:forEach items="${pagination.pageView}" var="page"> ${page} </c:forEach> </span></div> <div style="margin-top:15px;"><input class="del-button" type="button" value="删除" onclick="optDelete('${name}','${isDisplay}');"/></div> </div> </body> </html>

     2.dao层方法和xml

    package cn.itcast.core.dao.product;
    
    import java.util.List;
    
    import cn.itcast.core.bean.product.Brand;
    import cn.itcast.core.query.product.BrandQuery;
    
    
    /**
     * 品牌
     * @author lx
     *
     */
    public interface BrandDao {
    	//List集合
    	public List<Brand> getBrandListWithPage(Brand brand);
    	//查询集合
    	public List<Brand> getBrandList(BrandQuery brandQuery);
    	//查询总记录数
    	public int getBrandCount(Brand brand);
    	//添加品牌
    	public void addBrand(Brand brand);
    	//单个删除
    	public void deleteBrandByKey(Integer id);
    	//批量删除
    	public void deleteBrandByKeys(Integer[] ids);
    	//修改
    	public void updateBrandByKey(Brand brand);
    	//查询单个
    	public Brand getBrandByKey(Integer id);
    }
    

     xml

    <?xml version="1.0" encoding="UTF-8" ?>  
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
    
    <mapper namespace="cn.itcast.core.dao.product.BrandDao">
    
    	<!-- resultMap  -->
    	<resultMap type="Brand" id="brand">
    		<result column="id" property="id"/>
    		<result column="name" property="name"/>
    		<result column="description" property="description"/>
    		<result column="img_url" property="imgUrl"/>
    		<result column="sort" property="sort"/>
    		<result column="is_display" property="isDisplay"/>
    	</resultMap>
    	
    	<!-- brandSelector   fields  id,name   id   #{id} == "id"  ${id} == id     -->
    	<sql id="brandSelector">
    		select
    		<if test="fields != null">
    			${fields}
    		</if>
    		<if test="fields == null">
    			id , name ,description,img_url,sort,is_display
    		</if>
    		from bbs_brand
    	</sql>
    	<!-- 品牌条件 -->
    	<sql id="brandWhere">
    		<where>
    			<if test="isDisplay != null">
    				is_display = #{isDisplay}
    			</if>
    			<if test="name != null">
    				<if test="nameLike == false">
    					and name = #{name}
    				</if>
    				<if test="nameLike == true">
    					and name like "%"#{name}"%"
    				</if>
    			</if>
    		</where>
    	</sql>
    	
    	<!-- 品牌 Order by -->
    	<sql id="brandOrderBy">
    		<if test="fieldOrders != null and fieldOrders.size > 0">
    			order by
    			<foreach collection="fieldOrders" item="fieldOrder" separator=",">
    				${fieldOrder.field} ${fieldOrder.order}
    			</foreach>
    		</if>
    	</sql>
    	
    	<!-- limit -->
    	<sql id="brandLimit">
    		<if test="startRow != null">
    			limit #{startRow},#{pageSize}
    		</if>
    	</sql>
    	
    	<!-- 查询品牌集合 -->
    	<select id="getBrandList" parameterType="BrandQuery" resultMap="brand">
    		<include refid="brandSelector"/>
    		<include refid="brandWhere"/>
    		<include refid="brandOrderBy"/>
    		<include refid="brandLimit"/>
    	</select>
    	
    	
    	<!-- 查询品牌   get*   -->
    	<select id="getBrandListWithPage" parameterType="Brand" resultMap="brand">
    		select id , name ,description,img_url,sort,is_display
    		from bbs_brand
    		<where>
    			<if test="isDisplay != null">
    				is_display = #{isDisplay}
    			</if>
    			<if test="name != null">
    				and name = #{name}
    			</if>
    		</where>
    		order by id desc
    		limit #{startRow},#{pageSize}
    	</select>
    	
    	<!-- 查询总记录数 -->
    	<select id="getBrandCount" parameterType="Brand" resultType="Integer">
    		select count(1)
    		from bbs_brand
    		<where>
    			<if test="isDisplay != null">
    				is_display = #{isDisplay}
    			</if>
    			<if test="name != null">
    				and name = #{name}
    			</if>
    		</where>
    	</select>
    	<!-- 添加品牌 -->
    	<insert id="addBrand" parameterType="Brand">
    		insert into bbs_brand
    		<trim prefix="(" suffix=")">
    			name ,
    			description,
    			img_url,
    			sort,
    			is_display
    		</trim>
    		values
    		<trim prefix="(" suffix=")">
    			#{name},
    			#{description},
    			#{imgUrl},
    			#{sort},
    			#{isDisplay}
    		</trim>
    	</insert>
    	<!-- 删除 通过主键 -->
    	<delete id="deleteBrandByKey" parameterType="Integer">
    		delete from bbs_brand
    		<where>
    			id = #{id}
    		</where>
    	</delete>
    	<!-- 批量删除 -->
    	<delete id="deleteBrandByKeys" parameterType="Integer">
    		delete from bbs_brand
    		<where>
    			id in 
    			<foreach collection="array" item="id" open="(" close=")" separator="," >
    				#{id}
    			</foreach>
    		</where>
    	</delete>
    	<!-- 修改 -->
    	<update id="updateBrandByKey" parameterType="Brand">
    		update bbs_brand
    		<set>
    			<if test="name != null">
    				name=#{name},
    			</if>
    			<if test="description != null">
    				description=#{description},
    			</if>
    			<if test="imgUrl != null">
    				img_url=#{imgUrl},
    			</if>
    			<if test="sort != null">
    				sort=#{sort},
    			</if>
    			<if test="isDisplay != null">
    				is_display=#{isDisplay}
    			</if>
    		</set>
    		<where>
    			id=#{id}
    		</where>
    	</update>
    	<!-- 通过ID查询一个品牌对象 -->
    	<select id="getBrandByKey" parameterType="Integer" resultMap="brand">
    		select id , name ,description,img_url,sort,is_display
    		from bbs_brand
    		<where>
    			id = #{id}
    		</where>
    	</select>
    </mapper>
    

     controller层方法

    //删除品牌
    		@RequestMapping(value="/brand/deletes.do")
    		public String deletes(Integer[] ids,String name,Integer isDisplay,Model model){
    			if(name!=null&&!name.equals("")){
    				model.addAttribute("name", name);
    			}
    			model.addAttribute("id", ids);
    			if(isDisplay!=null&&!isDisplay.equals("")){
    				model.addAttribute("isDisplay", isDisplay);
    			}
    			brandService.deleteBrandByKeys(ids);
    			return "redirect:/brand/list.do";
    		}
    
  • 相关阅读:
    SQL group by的困惑
    【翻译】优化基于ExtJS 4.1的应用
    DAO模式图解
    Add new rows to WebCombo in clientside javascript
    JavaScript页面刷新与弹出窗口问题解决方法
    Web开发:"父窗口"与"弹出子窗口"之间的刷新, 传值(转载)
    用"window.showModalDialog()"实现DIV模式弹出窗口
    [转]Infragistics NetAdvantage UltraWebGrid使用技巧
    JavaScript 和 .NET 中的 JavaScript Object Notation (JSON) 简介
    json2.js 使用详细教程
  • 原文地址:https://www.cnblogs.com/lbloveab/p/7371820.html
Copyright © 2020-2023  润新知