ssm整合之五 分页以及按时间查询
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 > #{start}
and a.r < #{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整合之五 分页以及按时间查询相关推荐
- ssm整合之四 分页
package com.util;import java.util.List;/** 类名:PageData.java 创建人: zh 修改人: 完成功能:分页返回用 */ public class ...
- ssm整合oracle分页,java实现ssm分页工具类及其使用方法
分享一下我现在所使用的分页工具类,不像网上的那么规范 纯属自己总结根据逻辑敲出来的,基于mysql的limit来做分页.有不对的地方还望大佬指出,直接上代码 PageTools package com ...
- SSM整合+分页+Druid+CRU+log4J+junit+事务+Json+Bootstrap入门教程总览目录
总目录 1.快速入门SSM整合配置建立第一个SSM项目模板 https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/85052628 2.实 ...
- SSM整合之XML方式,与配置事务,拦截器,异常处理,PageHelper分页插件整合
SSM整合之XML方式 将主流的三大框架整合一起使用 spring:将需要的bean交给IOC管理 SpringMVC:解决表现层 MyBatis:解决持久层 创建maven项目(配置文件与代码中注释 ...
- ssm如何在mapper插入实时的时间_第一个ssm整合
刚学完狂神说的ssm框架,花了两天时间把狂神的ssm整合项目写完 狂神视频 实现功能 bilibili视频地址 基本骨架 1.环境 IDEA MySQL 8.0 Tomcat 7 Maven 3.6 ...
- SSM整合——实现图书的查询功能
这里以图书查询的功能为例子,来进行SSM的整合,从创建数据库,到导入jar包,一步一步的进行整合,直到能跑为止,我也是初学SSM整合,这里只是给出了能跑起来的代码,里面有简单的注释,并没有详细讲解原理 ...
- SSM整合对数据库表的查询
这次的学习的任务是从我们之前搭建好的框架上加一些业务逻辑(查) **概述:**运行的效果是一个页面有个查询表中数据的超链接,在点击查询链接的时候,把数据库中的表里面的数据全部查出来. 以订单做个例子: ...
- ssm java编程遇到从数据库中查询的时间与存储时间不一致
ssm java编程遇到从数据库中查询的时间与存储时间不一致 推荐先去看这篇文章: java编程中遇到的时区与时间问题总结 http://blog.csdn.net/yeahwell/article/ ...
- 毕设IDEA2019之ssm多表分页模糊查询(PageHelper插件)
PageHelper插件实现分页查询请戳这. 本篇在分页的基础上实现模糊查询,因为单表有点简单,直接介绍多表,输入关键字查找相关内容,之前几篇有点脱离毕设项目了,这篇开始尽量用项目做例子.没什么好说的 ...
最新文章
- 【bzoj1853】[Scoi2010]幸运数字 容斥原理+搜索
- ulimit问题 关于nproc设置
- 去掉input密码框自动补全功能
- AI已火,宗教当生,硅谷出了个“洪秀全”
- 机器学习+云服务,一种互惠互利的结合物
- CSS3 Flexbox 弹性布局
- 写给对前途迷茫的朋友:五句话定会改变你的人生
- 控件内部显示不正确原因---没有调用layoutSubview的父类方法
- 修改mysql数据存放路径
- matlab中的语言,matlab语言学习MATLAB语言基础.pdf
- 树莓派有线网络设置_树莓派的基本网络配置
- 被“投机之王”奉为交易核心的时间要素到底是什么?
- IPhone触摸设计:拇指操作的“热区与死角”
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java后台投票网站系统9h37l
- 用计算机弹天空之城谱子,最简单的钢琴曲_天空之城超简单版本钢琴谱
- 【flex chat】 p2p视频语音聊天室 欢迎你的测试
- 水安ABC考试单选练习题库(1)
- Xmind 8 安装及破解方法
- Frida不能和Magisk Hide一起使用
- 答读者问(18):一个大四学生有关专业发展的相关疑问
热门文章
- JVM系列之:JIT中的Virtual Call
- 一文弄懂EnumMap和EnumSet
- 你用或者不用:线程中synchronized关键字使用总结
- oracle的scn增量备份,Oracle技术之利用scn增量备份实现数据库增量恢复
- centos 下载文件很慢_【已解决】Mac中从远程CentOS服务器中加速下载大文件
- springmvc 注解总结
- Spring Cloud的架构
- JUC锁-CyclicBarrier(七)
- lostash Timeout executing grok 问题排查
- 算法竞赛入门经典(第二版) | 程序3-10 生成元 (UVa1584,Circular Sequence)