ssm整合之五 分页以及按时间查询
来源:互联网 发布:python re 匹配域名 编辑:程序博客网 时间:2024/05/29 19:27
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整合之四 分页
- ssm+easyUI之分页查询
- SSM之Mybatis查询以及批量操作
- SSM+Maven 分页查询
- ssm实现分页查询
- 按时间分组查询
- mysql 按时间查询
- mysql 按时间查询
- mysql 按时间查询
- sql 按时间查询
- 五、maven项目搭建 ssm框架之spring整合redis
- java操作mongdb多条件复合查询(包括模糊查询和按时间段查询),分页
- 基于SSM整合的分页
- ssm整合之七 事务以及404页面处理
- SSM整合之配置文件
- SSM之框架整合
- Machine Learning第六讲[应用机器学习的建议] --(五)使用大的数据集
- Tomcat下HTTPS(SSL)搭建工作的始末
- Android 事件
- 利用VideoView简单实现视频播放 包括 横竖屏切换 声音 亮度 暂停
- 程序员日常工作英文20170504
- ssm整合之五 分页以及按时间查询
- Jquery简单过滤选择器(应用最广泛的选择器)
- JQuery Form表单转JSON(支持复杂数据版)
- Faster-R-CNN(Python).1:从配置到demo
- 海康IPC+ffmpeg+nginx+ckplayer实现网页实时预览监控视频
- RMQ+ST 区间最值/区间最多频次
- linux经常管理与查看指令:ps、pstree、top、kill、jobs和nice
- HAUTOJ 1262 魔法宝石
- Codeforces Round #373 (Div. 2) Anatoly and Cockroaches —— 贪心