ssm整合之五 分页以及按时间查询
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整合之六 时间日期装换