day_1_15 JavaWeb实现分页查询

首先先看效果图:


day_1_15 JavaWeb实现分页查询_第1张图片
分页查询.png

然后提供了一个Java Bean实体类对象
(PageBean.java)

import java.util.List;

/**
 * 封装了 分页查询的所有参数
 *
 */
public class PageBean {
    private Integer cp; // 当前页
    private Integer tp; // 总页数
    private Integer tr; // 总记录数
    private Integer pr; // 每页记录数为5
    private List list; // 每页数据

    public Integer getCp() {
        return cp;
    }

    public void setCp(Integer cp) {
        this.cp = cp;
    }

    // 得到总页数
    public Integer getTp() {
        int count = tr / pr;
        return (tr % pr == 0) ? count : count + 1;
    }

    public Integer getTr() {
        return tr;
    }

    public void setTr(Integer tr) {
        this.tr = tr;
    }

    public Integer getPr() {
        return pr;
    }

    public void setPr(Integer pr) {
        this.pr = pr;
    }

    public List getList() {
        return list;
    }

    public void setList(List list) {
        this.list = list;
    }
}

在dao层提供对数据库的操作:()

     /**
     * 查询所有用户
     *
     * @return 返回封装了所有客户的list集合
     * @throws Exception
     */
    public PageBean findAllCustomer(PageBean pageBean) throws Exception {
        String sql = "select * from customer limit ?, ?";
        Object[] objs = {(pageBean.getCp() - 1) * pageBean.getPr(),
                pageBean.getPr()}; // 第一个参数为 5 * (当前页数 - 1); 后一个参数为5(每页的记录数)
        List list = qr.query(sql, new BeanListHandler(Customer.class), objs);
        pageBean.setList(list);

        // 查询总记录数
        sql = "select count(*) from customer";
        Number n = (Number) qr.query(sql, new ScalarHandler());
        Integer tr = n.intValue();
        pageBean.setTr(tr);

        return pageBean;
    }

然后是页面的展示:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>




    客户列表

    
    
    
    
    




客户列表

客户姓名 性别 生日 手机 邮箱 描述 操作
${customer.cname } ${customer.gender } ${customer.birthday } ${customer.cellPhone } ${customer.email } ${customer.description } 编辑 删除
第${pageBean.cp }页/共${pageBean.tp }页 首页 <%--如果当前页为1 那么 不能够再上一页 --%> 上一页 上一页 <%-- 如果总页数小于10 那么第一个数字为1, 最后一个数字为总页数 --%> <%-- 如果总页数大于10, 那么第一个数字为cp-5, 最后一个数字为cp+4 --%> ${i} ${i} <%-- 如果当前页等于总页数, 那么不能再下一页 --%> 下一页 下一页 尾页

结果演示:


day_1_15 JavaWeb实现分页查询_第2张图片
演示.gif
完整代码地址(含SQL脚本)

https://github.com/menglanyingfei/Java/tree/master/JavaWebTrain/day_1_15/customer

你可能感兴趣的:(day_1_15 JavaWeb实现分页查询)