public interface EmpDao {    /*** 获取雇员总数量* @return*/public int searchAll(Map map);public List<Emp> search(Map map);
}

mapper映射文件

<select id="searchAll"  parameterType="java.util.Map" resultType="int">select  count(*) from emp  <where><if test="minSal>0">and sal > #{minSal}</if></where>  </select><select id="search" parameterType="java.util.Map" resultType="com.entity.Emp">select  empno,ename,sal from(select rownum r ,e.* from emp e<if test="minSal>0">where  e.sal > #{minSal}</if>) a where a.r > #{start}and a.r < #{end} </select>

业务层接口

//业务层的接口
public interface IEmpService {//分页;public PageData getList(Map map);
}

业务层接口的实现类

@Service("service")
public class EmpService implements IEmpService {//注入,byName类型;@Resourceprivate EmpDao empDao;//数据层;public PageData getList(Map map) {PageData pageData=new PageData(empDao.searchAll(map),empDao.search(map));return pageData;}}

控制器代码

@Controller
@RequestMapping("/emp") //窄化处理
public class EmpController {//自动注入@Resourceprivate IEmpService service;@RequestMapping("/list")public String getList(Model model){//Model:模型,只存数据List<Emp>list=service.getList();model.addAttribute("size",list.size());model.addAttribute("list",list);//存放集合return "test2";//返回到list页面}//分页@RequestMapping("/list2")public String list(Model model,Integer pageNo,Integer minSal,HttpServletRequest request){System.out.println("URI地址:"+request.getRequestURI());
//      Enumeration  pNames=request.getParameterNames();
//       while(pNames.hasMoreElements()){
//        String  name=(String)pNames.nextElement();
//        System.out.println("name:"+name+"="+request.getParameter(name));
//       }int pageSize=3;if(pageNo==null){pageNo=1;}Map map =new HashMap();map.put("start", (pageNo-1)*pageSize);map.put("end", pageNo*pageSize+1);map.put("minSal",minSal);PageData pageData = service.getList(map);int count = pageData.getCount();//总数量String pageString = new PageUtil(pageSize, pageNo, count, request).getPageString();model.addAttribute("list", pageData.getList());model.addAttribute("pageString", pageString);return "list";}
}

前端页面list.jsp页面

 <form method="post" action="emp/list2">最低工资:<input type="text" name="minSal" value="${param.minSal}"/>最高工资:<input type="text" name="maxSal"><input type="submit" value="查询"/></form><table border="1" align="center" width="100%"><tr align="center"><td>工号</td><td>姓名</td><td>工资</td><td>操作</td></tr><c:forEach items="${list }" var="emp"><tr><td>${emp.empno }</td><td>${emp.ename }</td><td>${emp.sal }</td><td><!--view->controller->view --><a href='emp/toAddEmp'>增加</a><a href='emp/getEmp/${emp.empno}'>编辑</a><a href='emp/${emp.empno}/deleteEmp'>删除</a><a href='emp/deleteEmp2?empno=${emp.empno}'>删除2</a></td></tr></c:forEach><tr align="center"><td colspan="4">${pageString}</td></tr></table>

正常带查询的坟茔应该是如下状态

按时间查询,在入职日期输入一个时间,点击datetimebox,选择相应的时间

mapper文件代码:

<select id="getpage" parameterType="java.util.Map" resultType="net.bean.emp">
select * from  (select rownum r ,e.empno,e.ename,e.age,e.sex,e.email,e.ephone,p.pname,dt.dname,d.dromroom,e.eaddress,e.hiredate,e.leavedate from T_emp e left join
 T_drom d on e.dromno=d.dromno  left join T_dept dt on e.deptno=dt.deptno  left join T_position p on e.pno=p.pno
 <where>
   <if test="empno>0">
   and e.empno=#{empno}
   </if> 
   <if  test="ename!=null">
    and e.ename like '%${ename}%'
   </if>
  <if test="hiredate!=null">
   and  e.hiredate=to_date('${hiredate}','yyyy-mm-dd')
  </if>
  </where>
 )a
where a.r &gt; #{start}
          and a.r &lt; #{end}
</select>

控制器代码:

@RequestMapping("/getemps")public String list(Model model,Integer pageNo,HttpServletRequest request,Integer empno,String ename,Date hiredate){System.out.println("URI地址:"+request.getRequestURI());int pageSize=5;//每页条数if(pageNo==null){pageNo=1;}Map map =new HashMap();map.put("start", (pageNo-1)*pageSize);map.put("end", pageNo*pageSize+1);map.put("empno",empno);map.put("ename", ename);SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");if(hiredate!=null){String s=sdf.format(hiredate);System.out.println(s);map.put("hiredate", s);}PageData pageData =empservice.getList(map);int count = pageData.getCount();//总数量String pageString = new PageUtil(pageSize, pageNo, count, request).getPageString();model.addAttribute("emps", pageData.getList());model.addAttribute("pageString", pageString);return "emp/getemps";}

注意实体类型是java.sql.date,可以直接查询。

ssm整合之五 分页以及按时间查询相关推荐

  1. ssm整合之四 分页

    package com.util;import java.util.List;/** 类名:PageData.java 创建人: zh 修改人: 完成功能:分页返回用 */ public class ...

  2. ssm整合oracle分页,java实现ssm分页工具类及其使用方法

    分享一下我现在所使用的分页工具类,不像网上的那么规范 纯属自己总结根据逻辑敲出来的,基于mysql的limit来做分页.有不对的地方还望大佬指出,直接上代码 PageTools package com ...

  3. SSM整合+分页+Druid+CRU+log4J+junit+事务+Json+Bootstrap入门教程总览目录

    总目录 1.快速入门SSM整合配置建立第一个SSM项目模板 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85052628 2.实 ...

  4. SSM整合之XML方式,与配置事务,拦截器,异常处理,PageHelper分页插件整合

    SSM整合之XML方式 将主流的三大框架整合一起使用 spring:将需要的bean交给IOC管理 SpringMVC:解决表现层 MyBatis:解决持久层 创建maven项目(配置文件与代码中注释 ...

  5. ssm如何在mapper插入实时的时间_第一个ssm整合

    刚学完狂神说的ssm框架,花了两天时间把狂神的ssm整合项目写完 狂神视频 实现功能 bilibili视频地址 基本骨架 1.环境 IDEA MySQL 8.0 Tomcat 7 Maven 3.6 ...

  6. SSM整合——实现图书的查询功能

    这里以图书查询的功能为例子,来进行SSM的整合,从创建数据库,到导入jar包,一步一步的进行整合,直到能跑为止,我也是初学SSM整合,这里只是给出了能跑起来的代码,里面有简单的注释,并没有详细讲解原理 ...

  7. SSM整合对数据库表的查询

    这次的学习的任务是从我们之前搭建好的框架上加一些业务逻辑(查) **概述:**运行的效果是一个页面有个查询表中数据的超链接,在点击查询链接的时候,把数据库中的表里面的数据全部查出来. 以订单做个例子: ...

  8. ssm java编程遇到从数据库中查询的时间与存储时间不一致

    ssm java编程遇到从数据库中查询的时间与存储时间不一致 推荐先去看这篇文章: java编程中遇到的时区与时间问题总结 http://blog.csdn.net/yeahwell/article/ ...

  9. 毕设IDEA2019之ssm多表分页模糊查询(PageHelper插件)

    PageHelper插件实现分页查询请戳这. 本篇在分页的基础上实现模糊查询,因为单表有点简单,直接介绍多表,输入关键字查找相关内容,之前几篇有点脱离毕设项目了,这篇开始尽量用项目做例子.没什么好说的 ...

最新文章

  1. 【bzoj1853】[Scoi2010]幸运数字 容斥原理+搜索
  2. ulimit问题 关于nproc设置
  3. 去掉input密码框自动补全功能
  4. AI已火,宗教当生,硅谷出了个“洪秀全”
  5. 机器学习+云服务,一种互惠互利的结合物
  6. CSS3 Flexbox 弹性布局
  7. 写给对前途迷茫的朋友:五句话定会改变你的人生
  8. 控件内部显示不正确原因---没有调用layoutSubview的父类方法
  9. 修改mysql数据存放路径
  10. matlab中的语言,matlab语言学习MATLAB语言基础.pdf
  11. 树莓派有线网络设置_树莓派的基本网络配置
  12. 被“投机之王”奉为交易核心的时间要素到底是什么?
  13. IPhone触摸设计:拇指操作的“热区与死角”
  14. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java后台投票网站系统9h37l
  15. 用计算机弹天空之城谱子,最简单的钢琴曲_天空之城超简单版本钢琴谱
  16. 【flex chat】 p2p视频语音聊天室 欢迎你的测试
  17. 水安ABC考试单选练习题库(1)
  18. Xmind 8 安装及破解方法
  19. Frida不能和Magisk Hide一起使用
  20. 答读者问(18):一个大四学生有关专业发展的相关疑问

热门文章

  1. JVM系列之:JIT中的Virtual Call
  2. 一文弄懂EnumMap和EnumSet
  3. 你用或者不用:线程中synchronized关键字使用总结
  4. oracle的scn增量备份,Oracle技术之利用scn增量备份实现数据库增量恢复
  5. centos 下载文件很慢_【已解决】Mac中从远程CentOS服务器中加速下载大文件
  6. springmvc 注解总结
  7. Spring Cloud的架构
  8. JUC锁-CyclicBarrier(七)
  9. lostash Timeout executing grok 问题排查
  10. 算法竞赛入门经典(第二版) | 程序3-10 生成元 (UVa1584,Circular Sequence)