根据员工名字和部门名称,模糊查询员工信息
在后台分页,一次运送一页数据
PageUtil.java
package cn.qf.emp.util;
import java.sql.ResultSet;
import java.sql.SQLException;
public class PageUtil {
//计算出总页数 表名 列名 每页的数据条数
public int getTotalPages(String tableName,String keyName,int pageSize) {
int totalPages=0;
DbUtil db = new DbUtil();
//1.查询总记录条数
String sql = "select count("+keyName+") from "+tableName;
ResultSet rs = db.executeSelect(sql);
int totalCount=0;
try {
if (rs.next()) {
totalCount=rs.getInt(1);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2.计算总页数
totalPages = totalCount%pageSize==0? totalCount/pageSize:totalCount/pageSize+1;
return totalPages;
}
}
EmpDao.java
//根据员工名字 员工分页查询
public List getAllEmpsByPage(int currentPage,int pageSize,Emp em){
//模糊查询的值为空时,会查询出所有的数据,相当于select *
String sql = "select * from emp where ename like ? and deptno like ? limit "+(currentPage-1)*pageSize+","+pageSize;
List
EmpService.java
//根据员工名字 员工分页查询
public List getAllEmpsByPage(int currentPage,int pageSize,Emp em){
return ed.getAllEmpsByPage(currentPage, pageSize, em);
}
GetEmpPageServlet.java (显示查询到的数据)
package cn.qf.emp.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.qf.emp.pojo.Emp;
import cn.qf.emp.service.EmpService;
import net.sf.json.JSONArray;
/**
* Servlet implementation class GetEmpPageServlet
* 根据名字查询员工
*/
@WebServlet("/GetEmpPageServlet")
public class GetEmpPageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetEmpPageServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
//获取当前页
int currentPage=Integer.parseInt(request.getParameter("cp"));
//获取每页显示的数据条数
int pageSize=Integer.parseInt(request.getParameter("ps"));
Emp emp = new Emp();
emp.setEname(request.getParameter("name"));
emp.setDeptno(request.getParameter("deptno"));
EmpService es = new EmpService();
List lists = es.getAllEmpsByPage(currentPage, pageSize, emp);
response.setContentType("text/html;charset=utf-8");
String json = JSONArray.fromObject(lists).toString();
PrintWriter pw = response.getWriter();
pw.print(json);
}
}
GetEmpTotalPagesServlet.java
package cn.qf.emp.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.qf.emp.util.PageUtil;
/**
* Servlet implementation class GetEmpTotalPagesServlet
* 获取总页数
*/
@WebServlet("/GetEmpTotalPagesServlet")
public class GetEmpTotalPagesServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetEmpTotalPagesServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取每页显示的记录数
int pageSize=Integer.parseInt(request.getParameter("ps"));
//调用工具类,获取总页数
PageUtil pu = new PageUtil();
int totalPages=pu.getTotalPages("emp", "empno", pageSize);
PrintWriter pw = response.getWriter();
pw.print(totalPages);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
GetDeptsJsonServlet.java (dao层,service层,省略)
package cn.qf.emp.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.qf.emp.pojo.Dept;
import cn.qf.emp.service.DeptService;
import net.sf.json.JSONArray;
/**
* Servlet implementation class GetDeptsJsonServlet
*/
@WebServlet("/GetDeptsJsonServlet")
public class GetDeptsJsonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public GetDeptsJsonServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
DeptService ds = new DeptService();
List lists = ds.getAllDepts();
String strJson=JSONArray.fromObject(lists).toString();
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
pw.print(strJson);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
分页