文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java怎么分页

2016-04-15 15:23

关注

java怎么分页

实现原理很简单,就是建立一个Page类,里面放当前访问的页数(这个是从客户浏览器传到后台的数据,所以你的分页需要用它来定位记录的条目)和每一页显示的记录行数。

然后通过分页计算就可以得出下列数据。(假定你的页数从1开始)

总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1

当前页数(从浏览器传递的参数中获得)

表记录的起始位置=(当前页数-1)*每页大小

总记录数(select count(*) from [表名] [where [条件]],从数据库中查询得到)

每页大小,可以固定,也可以从页面传过来有了这几个参数之后,就用sql语句查出对应的记录就可以了。

mysql数据库用limit 表记录的起始位置,每页大小 语句添加到你的查询语句最后面sqlserver数据库用top语句和not in 来做

oracle数据库用rownum来做

具体代码如下:

public class Page {
 
    private long totalCount = 0;// 总记录数
    private int pageNumber = 1;//  当前页号,默认显示第一页
    private int pageSize = 20; // 每页大小,默认每页20条
    private int totalPage = 0;// 总页数,默认为0
    private int startRow = 0;// 起始记录行号,默认为从表头开始
 
    
    public void pagination() {
                // 计算总页数
        if (this.totalCount % pageSize == 0)
            this.totalPage = new Long(this.totalCount / pageSize).intValue();
        else
            this.totalPage = new Long(this.totalCount / pageSize).intValue() + 1;
                // 排除错误页号
        if (this.pageNumber < 1)
            this.pageNumber = 1;
        if (this.pageNumber > this.totalPage)
            this.pageNumber = this.totalPage;
                // 计算起始行号
        this.startRow = (this.pageNumber - 1) * this.pageSize;
    }
    public long getTotalCount() {
        return totalCount;
    }
    public void setTotalCount(long totalCount) {
        this.totalCount = totalCount;
        this.pagination();
    }
    public int getPageNumber() {
        return pageNumber;
    }
    public void setPageNumber(int pageNumber) {
        this.pageNumber = pageNumber;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalPage() {
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getStartRow() {
        return startRow;
    }
    public void setStartRow(int startRow) {
        this.startRow = startRow;
    }
}

前端采用jsp,通过html和计算得出的数据进行分页展示即可。

编程界网,大量的免费Java入门教程,欢迎在线学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯