分页与高级查询
来源:互联网 发布:python自动化运维 pdf 编辑:程序博客网 时间:2024/05/22 10:45
JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isELIgnored="false"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> function aa(pageNum){// alert(pageNum); var form1=document.getElementById("form1"); form1.action="EmpAction.do?flag=findAll&pageNum="+pageNum; form1.submit(); } </script> </head> <body> 欢迎:${ee.empName } <a href="EmpAction.do?flag=findAll">查询全部</a> <c:if test="${list!=null }"> <form action="EmpAction.do?flag=findAll" method="post" id="form1"> 姓名:<input type="text" name="empName" value="${e.empName }"> 部门:<input type="text" name="deptName" value="${e.deptName }"> 生日:<input type="text" name="birthday" value="${e.birthday }"> <input type="submit" value=" submit "> </form> <table> <tr> <td>id</td> <td>姓名</td> <td>部门</td> <td>生日</td> </tr> <c:forEach items="${list }" var="e"> <tr> <td>${e.empId }</td> <td>${e.empName }</td> <td>${e.deptId }</td> <td>${e.dept.deptName }</td> <td>${e.birthday }</td> </tr> </c:forEach> <tr> <td>共${p.totalSize }条共${p.totalPage }页 第${p.pageNum }页 <a href="javascript:;" onclick="aa(${p.pageNum-1 })">上一页</a> <a href="javascript:;" onclick="aa(${p.pageNum+1 })">下一页</a> </td> </tr> </table> </c:if> </body></html>
Service层
import java.util.List;public interface EmpService { public Emp findEmpById(int id); public List<Emp> findAll(Emp e); public Emp login(Emp e); public int count(Emp e);}
bean层
import java.util.Date;public class Emp { private int empId; private String empName; private int sex; private int age; private int deptId; private Date birthday; private String username; private String password; private Dept dept; private String deptName; private int begin; private int end; public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public int getBegin() { return begin; } public void setBegin(int begin) { this.begin = begin; } public int getEnd() { return end; } public void setEnd(int end) { this.end = end; } public Dept getDept() { return dept; } public void setDept(Dept dept) { this.dept = dept; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getEmpId() { return empId; } public void setEmpId(int empId) { this.empId = empId; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getDeptId() { return deptId; } public void setDeptId(int deptId) { this.deptId = deptId; }}
public class Page { private int pageNum; private int pageSize; private long totalSize; private int totalPage; public int getBegin(){ return (pageNum-1)*pageSize+1; } public int getEnd(){ return pageNum*pageSize; } public int getPageNum() { return pageNum; } public void setPageNum(int pageNum) { this.pageNum = pageNum; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public long getTotalSize() { return totalSize; } public void setTotalSize(long totalSize) { this.totalSize = totalSize; } public int getTotalPage() { return totalPage; } public void setTotalPage(int totalPage) { this.totalPage = totalPage; } public Page(int pageNum, int pageSize, int totalSize) { this.pageSize = pageSize; this.totalSize = totalSize; this.totalPage = totalSize%pageSize==0?totalSize/pageSize:totalSize/pageSize+1; if(pageNum<=0){ this.pageNum=1; }else if(pageNum>totalPage&&totalPage!=0){ this.pageNum=totalPage; }else{ this.pageNum=pageNum; } }}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.dao.EmpDao"> <resultMap type="emp" id="rm"> <id property="empId" column="emp_id"/> <result property="empName" column="emp_name"/> <result property="deptId" column="dept_id"/> <result property="sex" column="sex"/> <result property="age" column="age"/> <result property="username" column="username"/> <result property="password" column="password"/> <result property="birthday" column="birthday"/> <association property="dept" javaType="Dept"> <id property="deptId" column="dept_id"/> <result property="deptName" column="dept_name"/> </association> </resultMap> <select id="findEmpById" parameterType="int" resultMap="rm"> select * from emp_tb where emp_id=#{id} </select> <select id="findAll" parameterType="emp" resultMap="rm"> select * from( select ee.*,rownum rn from( select e.emp_id,e.emp_name,e.birthday,d.dept_id,d.dept_name from emp_tb e inner join dept_tb d on e.dept_id=d.dept_id <where> <if test="empName!=null and empName!=''"> and e.emp_name like '%'||#{empName}||'%' </if> <if test="deptName!=null and deptName!=''"> and d.dept_name like '%'||#{deptName}||'%' </if> <if test="birthday!=null"> and e.birthday>#{birthday} </if> </where> ) ee ) eee where eee.rn between #{begin} and #{end} </select> <select id="login" parameterType="emp" resultMap="rm"> select * from emp_tb where username=#{username} and password=#{password} </select> <select id="count" resultType="int"> select count(*) from emp_tb e inner join dept_tb d on e.dept_id=d.dept_id <where> <if test="empName!=null and empName!=''"> and e.emp_name like '%'||#{empName}||'%' </if> <if test="deptName!=null and deptName!=''"> and d.dept_name like '%'||#{deptName}||'%' </if> <if test="birthday!=null"> and e.birthday>#{birthday} </if> </where> </select></mapper>
Action层
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Component;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.SessionAttributes;@Component@SessionAttributes({"ee"})@RequestMapping("EmpAction.do")public class EmpAction { @Autowired @Qualifier("empServiceImpl") private EmpService es; public EmpService getEs() { return es; } public void setEs(EmpService es) { this.es = es; } @RequestMapping(params="flag=login") public String login(@ModelAttribute Emp e,ModelMap map){ System.out.println(e.getUsername()); Emp ee=es.login(e); String str=null; if(ee!=null){ map.put("ee", ee); str="admin/index.jsp"; }else{ str="login.jsp"; } return str; } @RequestMapping(params="flag=findAll") public String findAll(ModelMap map,HttpServletRequest request){ String pageNum1=request.getParameter("pageNum"); int pageNum=0; if(pageNum1!=null&&pageNum1!=""){ pageNum=Integer.parseInt(pageNum1); } String empName=request.getParameter("empName"); String deptName=request.getParameter("deptName"); String birthday=request.getParameter("birthday"); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Date birth=null; if(birthday!=null&&birthday!=""){ try { birth=sdf.parse(birthday); } catch (ParseException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } Emp e=new Emp(); e.setEmpName(empName); e.setDeptName(deptName); e.setBirthday(birth); int totalSize=es.count(e); Page p=new Page(pageNum, 3, totalSize); e.setBegin(p.getBegin()); e.setEnd(p.getEnd()); List<Emp> list=es.findAll(e); map.put("e", e); map.put("p", p); map.put("list", list); return "admin/index.jsp"; }}
阅读全文
0 0
- 分页与高级查询
- 分页高级查询步骤
- 高级查询公共分页包
- JavaWeb之高级分页查询
- JDBC的分页查询以及hibernate高级查询分页
- 分页与查询优化
- MyBatis分页的拓展--合并高级查询
- Mongodb高级查询Aggregation聚合组件分页
- Hibernate 高级查询技巧——分页查询
- Oracle数据库高级查询(二)分页查询
- MongoDB与PHP -- 高级查询
- 【Oracle】模糊查询与高级连接查询
- oracle 与mysql分页查询
- mySQL与Oracle分页查询
- Oracle-分页与集合查询
- mongdb模糊查询与分页
- sqlite模糊查询与分页
- Oracle与mysql分页查询
- 设置tablayou的中一个不能点击
- http请求与响应全过程
- CSS3动画(360度旋转、旋转放大、放大、移动)(转)
- 学习日志-Servlet开发-1
- 高精度幂
- 分页与高级查询
- 判断某个字符串是不是一个合法的IP地址
- SpringBoot基础(3)
- 欢迎使用CSDN-markdown编辑器
- this关键字----使用场景一
- QT中操作oracle数据库注意事项
- 单例模式与多线程
- 图片加载库-Glide
- WebStorm设置Ctrl+滚轮调整字体大小