永发信息网

在Java中,用三元运算符实现分页功能

答案:1  悬赏:30  手机版
解决时间 2021-04-06 05:32
在Java中,用三元运算符实现分页功能
最佳答案
实现原理很简单,就是建立一个Page类,里面放当前访问的页数(这个是从客户浏览器传到后台的数据,所以你的分页需要用它来定位记录的条目)和每一页显示的记录行数。然后通过分页计算就可以得出下列数据。
(假定你的页数从1开始)
1、总页数 = 总记录数/每页大小,如果0!=总记录数%每页大小,那么总页数再+1
2、当前页数(从浏览器传递的参数中获得)
3、表记录的起始位置=(当前页数-1)*每页大小
4、总记录数(select count(*) from [表名] [where [条件]],从数据库中查询得到)
5、每页大小,可以固定,也可以从页面传过来

有了这几个参数之后,就用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;
}

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
根据短文内容,按要求答题。(回答81—85题时
月薪1800是不是太少了?
细丝电缆和粗丝电缆哪个过电流更好
我要上春晚抽奖活动填了真实信息他总打电话怎
为什么眉毛会长在眼皮上
脑梗吃什么蔬菜好
香港记者证是真是假?
淮南高一数学上哪几本书
进饭店偷东西算不算入室盗窃
单选题浓硫酸在与下列哪些物质反应时,既表现
骂一个人做作的句子,请问,有什么句子是讽刺
单选题下列加粗的词语在句中的意思解释不当的
松木旧家具该刷其他颜色需要刷底漆吗
3720qm和4720mq哪个好
新车全险多少钱,汽车全险一年多少钱
推荐资讯
12-16款crv尾翼什么牌子好
青山对()莺歌对()花香对()白云对()蓝
和男朋友高中在一起,至今为止六年半,我今年
一级公路结构层如何划分
初三知识难不难?
9千克20克等于多少千克
皓月干洗店地址在什么地方,想过去办事,
美国制裁中兴中国不能反击吗
电脑总卡怎么回事,电脑总是很卡,为什么
下列图象与实验相符合的是A.图①表示镁带在空
美的微波炉尚蒸a4超过三分钟冒烟怎么回事?
17岁平胸怎么办打雌激素可以吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?