分页管理上增删改查那些事儿

来源:互联网 发布:如何找到淘宝卖家 编辑:程序博客网 时间:2024/05/16 05:20

查询功能

1.1 com.test.gc.controller

1.1.1 Controller.java

<span style="font-size:14px;">/** * @author JOHN * @param model 用于完成从Controller向视图的数据传送,可通过model.addAttribute(...)进行传送 * @param user  * @param page * 分页查询操作 * **/@RequestMapping("list")public ModelAndView list(Model model,Pagination page,User user){/** * paramMap作为参数容器,将sql需要的条件进行封装 */Map<String,Object> paramMap=new HashMap<String,Object>();//生成空的map集合结构paramMap.put("yhbh", user.getYhbh());paramMap.put("xm", user.getXm());try {//自定义函数,完成数据分页显示和查询,由于函数对数据库底层进行了访问所以需要抛出异常this.getPagination("findUsers", paramMap, page.getPagIndex(), page.getPagCount(), model);//类似于调用findUser()函数} catch (Exception e) {e.printStackTrace();}return new ModelAndView("user/list");}</span>

项目初始访问路径:http://localhost:8080/springmvc/user/list

注:根据请求路径项目会到spring中的Controller中寻找user类映射,然后在寻找list方法映射。详细参考:

参考博客

SpringMvc中Controller和view的数据交互

http://www.gfsoso.net/?q=spring+controller%E5%92%8C%E8%A7%86%E5%9B%BE%E6%95%B0%E6%8D%AE%E4%BA%A4%E4%BA%92

@RequestMapping 用法详解之地址映射

http://blog.csdn.net/walkerjong/article/details/7994326


@RequestParam @RequestBody @PathVariabl等参数绑定注解详解:

http://blog.csdn.net/walkerjong/article/details/7946109










1.1.2 BaseController.java

<span style="font-size:14px;">@SuppressWarnings({ "unchecked" })/*执行了未检查的转换时的警告,例如当使用集合时没有用泛型 (Generics)来指定集合保存的类型。*/public void getPagination(String mapperSqlId,Map<String,Object> paramMap,int pageIndex,int pageCount,Model model)throws Exception{String searchSql=this.getSqlStrByMapperId(mapperSqlId,paramMap);//获取对应的Sql语句/*分页原理代码*/pageIndex=((pageIndex<=0)?1:pageIndex);//三目运算Pagination pagBean=new Pagination();pagBean.setPagIndex(pageIndex);pagBean.setPagCount(pageCount);int dataCount=pageService.getPageDataCount(searchSql);//总条数pagBean.setDataCount(dataCount);int pagNumber=((dataCount%pageCount)==0?dataCount/pageCount:(dataCount/pageCount)+1);//总页面数pagBean.setPagNumber(pagNumber);List<Object> obj=pageService.getPageDataList(searchSql, pageIndex, pageCount);List<Object> mapObj=new ArrayList<Object>();//转换时间格式:yyyy-MM-dd HH:mm:ss/*系统时间统一*/for (int i = 0; i<obj.size(); i++) { Map<String, Object> mapParam=((Map<String, Object>)obj.get(i)); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   Iterator it = mapParam.entrySet().iterator();     while (it.hasNext()) {    Map.Entry entry = (Map.Entry) it.next();    Object key = entry.getKey();    Object value = entry.getValue();    if(value instanceof Date){    mapParam.put(key.toString().toLowerCase(), sdf.format(value));    }     } mapObj.add(mapParam);}model.addAttribute("list", mapObj);model.addAttribute("total", dataCount);model.addAttribute("page", pagBean);}</span>

1.2 WebRoot\pages\user\list.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><c:set var="basePath" value="${pageContext.request.contextPath}"/><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=9" /><title>test</title><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/><meta http-equiv="X-UA-Compatible" content="IE=9" /><script src="${basePath}/pub/js/jquery-1.9.1.min.js" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="${basePath}/pub/tag2/default.css" /><!-- table样式 --><link rel="stylesheet" type="text/css" href="${basePath}/pub/css/page.css" /><!-- 分页样式 --><script src="${basePath}/pub/js/page.js" type="text/javascript"></script><!-- 分页JS --><script src="${basePath}/pub/js/public.js" type="text/javascript"></script><!-- 公共JS --><script src="${basePath}/pub/ckeditor/ckeditor.js" type="text/javascript"></script><!-- 大字段控件 --><script language="JavaScript" type="text/javascript" src="${basePath}/pub/WdatePicker/WdatePicker.js"></script><script language="JavaScript" type="text/javascript" src="${basePath}/pub/WdatePicker/date.js"></script><script src="${basePath}/pub/last-jquery/jquery.min.js" type="text/javascript"></script><script src="${basePath}/pub/js/jquery.meerkat.1.3.js" type="text/javascript"></script><script src="${basePath}/pub/js/jquery.fixedtableheader.min.js" type="text/javascript"></script><link rel="stylesheet" type="text/css" href="${basePath}/pub/WdatePicker/skin/WdatePicker.css" /><script>$(document).ready(function(){$("#addButton").click(function(){window.location.href="add";//跳转页面});});var isc = "";function getWids(){isc="";var idsstr = "";    $("input[name=chkId]").each(function(){ //遍历table里的全部checkbox        idsstr += $.trim($(this).val()) + ","; //获取所有checkbox的值        if($(this).attr("checked")) //如果被选中            isc += $.trim($(this).val()) + ","; //获取被选中的值    });    if(idsstr.length > 0) //如果获取到        idsstr = idsstr.substring(0, idsstr.length - 1); //把最后一个逗号去掉    if(isc.length > 0) //如果获取到        isc = isc.substring(0, isc.length - 1); //把最后一个逗号去掉}function upButton1(){getWids();if(isc==""){alert("请选择一条数据");return;}if(isc.indexOf(",")!=-1){alert("只能选择一个!");return;}$("#Form1").attr("action","update?wid="+isc);//$("#Form1").action="update";$("#Form1").submit();}function upButton2(){getWids();if(isc==""){alert("请选择一条数据");return;}$.ajax({type: "post",            dataType:'json', //接受数据格式             cache:false,            data:{"wid":isc},  //传递的数据            url: "delUser",         //访问的地址            beforeSend: function(XMLHttpRequest){            },            success: function(data){                alert("删除成功!");             },            error: function(){            //请求出错处理                alert("Error!");            }         });    $("#Form1").submit();}</script></head><body><form action="list" method="post" id="Form1" name="Form1"><table width="100%" cellpadding="0" cellspacing="0"><tr><td style="padding-left:30px;"><input type="button" id="delButton" name="delButton" class="showButton"  onclick="upButton2()"value="删除"/><input type="button" id="queryButton" name="queryButton" onclick="queryWindow()" class="showButton" value="查询"/><input type="button" id="addButton" name="addButton"  value="增加" class="showButton"/><input type="button" id="upButton" name="upButton" onclick="upButton1()" value="修改" class="showButton"/></td><td><div class='sabrosus'><c:choose>  <c:when test="${page.pagIndex==1 || page.pagIndex==0}"><span class='current'>首页</span><span class='current'>上一页</span></c:when><c:otherwise><a href='#' onClick='firstPage()'>首页</a><a href='#' onClick='privePage()'>上一页</a></c:otherwise></c:choose><c:choose><c:when test="${page.pagIndex==page.pagNumber || page.pagNumber==0}"><span class='current'>下一页</span><span class='current'>尾页</span></c:when><c:otherwise><a href='#' onClick='nextPage()' >下一页</a><a href='#' onClick='lastPage(${page.pagNumber})'>尾页</a></c:otherwise></c:choose> 当前第 <select id='pagIndex' name='pagIndex' style='width: 58px'><c:forEach begin="1" end="${page.pagNumber}" var="i"><option value='${i}'>${i}</option></c:forEach></select> 页/共 ${page.pagNumber} 页,${page.dataCount}条记录 每页 <select id='pagCount' name='pagCount' style='width: 58px'><option value='5'>5</option><option value='10'>10</option><option value='20'>20</option><option value='40'>40</option><option value='100'>100</option><option value='500'>500</option><option value='1000'>1000</option></select> 条 <script>checkPageOption('${page.pagIndex}','${page.pagCount}')</script></td></tr></table><table class="tableContent_table"><tr class="tableContent_table_thead_tr"><th style="width:50px;"><a style='cursor: hand' onclick="sel_all()">选择</a></th><th><a style='cursor:hand' onclick=reOrder('')>用户编号</a></th><th><a style='cursor:hand' onclick=reOrder('')>姓名</a></th><th><a style='cursor:hand' onclick=reOrder('')>部门</a></th><th><a style='cursor:hand' onclick=reOrder('')>是否使用</a></th><th><a style='cursor:hand' onclick=reOrder('')>移动电话</a></th><th><a style='cursor:hand' onclick=reOrder('')>固定电话</a></th><th><a style='cursor:hand' onclick=reOrder('')>电子邮件</a></th><th><a style='cursor:hand' onclick=reOrder('')>用户类型</a></th></tr><c:forEach items="${list}" var="data" varStatus="j"><tr><td align='center'><input type='checkbox'  name='chkId' value="${data.WID}"/></td><td align='center'>${data.YHBH }</td><td align='center'>${data.XM}</td><td align='center'>${data.BMBH }</td><td align='center'><c:choose>   <c:when test="${data.SFSY ==1}">是   </c:when>   <c:otherwise>否   </c:otherwise>  </c:choose> </td><td align='center'>${data.YDDH }</td><td align='center'>${data.GDDH }</td><td align='center'>${data.DZYJ }</td><td align='center'>${data.YHLX }</td></tr></c:forEach></table><div id="light" class="white_content"><table align="center" cellspacing="0" cellpadding="0" border="0" class="showTable"><tr><th><a style='cursor:hand' onclick=reOrder('')>用户编号</a></th><td><input name="yhbh" type="text"/></td><th><a style='cursor:hand' onclick=reOrder('')>姓      名</a></th><td><input name="xm" type="text"/></td></tr><!--<tr><th><a style='cursor:hand' onclick=reOrder('')>部    门</a></th><td><input name="bmbh" type="text"/></td><th><a style='cursor:hand' onclick=reOrder('')>是否使用</a></th><td><input name="sfsy" type="text"/></td></tr><tr><th><a style='cursor:hand' onclick=reOrder('')>移动电话</a></th><td><input name="yddh" type="text"/></td><th><a style='cursor:hand' onclick=reOrder('')>固定电话</a></th><td><input name="gddh" type="text"/></td></tr><tr><th><a style='cursor:hand' onclick=reOrder('')>电子邮件</a></th><td><input name="dzyj" type="text"/></td><th><a style='cursor:hand' onclick=reOrder('')>用户类型</a></th><td><input name="yhlx" type="text"/></td></tr>--><tr><td align="center" colspan="4"><input type="button" class="showButton" value="查 询 " onclick="query()"/>   <input type="button" class="showButton" value="关 闭 " onclick="closeQuery()"/></td></tr></table></div><div id="fade" class="black_overlay"></div></form></body></html>

1.3 com.test.gc.service

public List<User> findUsers();

1.4 com.test.gc.serviceimpl

@Overridepublic List<User> findUsers() {return userDao.findUsers();}

1.5 com.test.gc.user

package com.test.gc.model;public class User {private String wid;private String yhbh;//不能修改private String xm;private String mm;private String bmbh;private String sfsy;private String yddh;private String gddh;private String yhlx;private String bz;public String getWid() {return wid;}public void setWid(String wid) {this.wid = wid;}public String getYhbh() {return yhbh;}public void setYhbh(String yhbh) {this.yhbh = yhbh;}public String getXm() {return xm;}public void setXm(String xm) {this.xm = xm;}public String getMm() {return mm;}public void setMm(String mm) {this.mm = mm;}public String getBmbh() {return bmbh;}public void setBmbh(String bmbh) {this.bmbh = bmbh;}public String getSfsy() {return sfsy;}public void setSfsy(String sfsy) {this.sfsy = sfsy;}public String getYddh() {return yddh;}public void setYddh(String yddh) {this.yddh = yddh;}public String getGddh() {return gddh;}public void setGddh(String gddh) {this.gddh = gddh;}public String getYhlx() {return yhlx;}public void setYhlx(String yhlx) {this.yhlx = yhlx;}public String getBz() {return bz;}public void setBz(String bz) {this.bz = bz;}}

1.6 mappers/UserMapper

<select id="findUsers" parameterType="java.util.Map" resultType="UserR">select z.wid,z.yhbh,z.xm,(select bm.bmmc from zc_bm bm where z.bmbh=bm.bmbh) as bmbh,z.sfsy,(select sjmc from zc_sjzdbm where zdbh='YHLX' and sjbh=yhlx) as yhlxfrom zc_yh z where 1=1 <if test="yhbh!=null">and yhbh like '%${yhbh}%'</if><if test="xm!=null">and xm like '%${xm}%'</if></select>





0 0
原创粉丝点击