AJAX 分页-------在后台分页

根据员工名字和部门名称,模糊查询员工信息

在后台分页,一次运送一页数据

AJAX 分页-------在后台分页_第1张图片

一.util下创建分页的工具类

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;
	}
}

二.dao层

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 para = new ArrayList();
		para.add("%"+em.getEname()+"%");
		para.add("%"+em.getDeptno()+"%");
		List lists = new ArrayList();
		ResultSet rs = db.executeSelect(sql,para);
		try {
			while(rs.next()) {
				Emp emp = new Emp();
				emp.setEmpno(rs.getString("empno"));
				emp.setEname(rs.getString("ename"));
				emp.setJob(rs.getString("job"));
				emp.setSal(rs.getFloat("sal"));
				emp.setDeptno(rs.getString("deptno"));
				lists.add(emp);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return lists;
	}
 
  

三.service层

EmpService.java

	//根据员工名字  员工分页查询
	public List getAllEmpsByPage(int currentPage,int pageSize,Emp em){
		return ed.getAllEmpsByPage(currentPage, pageSize, em);
	}

四.servlet层

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"%>




分页





你可能感兴趣的:(练习)