Java分页查询

网友投稿 253 2023-04-19


Java分页查询

当数据库中数据条数过多时,一个页面就不能显示,这是要设置分页查询,首先要使用的是数据库sql语句的limit条件实现分组查询

sql语句大概形式为:

select * from table limit 开始索引,显示条数

用该语句就会实现分块查询,并且每页显示固定条数。

首先要实现后台分页,我们需要知道它有多少页,每页有多少行,这就需要知道一共多少行,调用sql语句时还需要知道每一页的开始索引,开始索引是根据http://当前页数算出来的,所以还需要知道当前页数,查询后会返回一个列表存储当前页数据。将这些属性及获取设置的方法封装成一个类就有了下面的page类:

Page类

public class Page {

private List data;//数据列表

private int pagenum;//当前页数

private int pagesize;//当前页显示条数

private int rows;//总行数

public Page(int rows,int pagenum, int pagesize) {

super();

data=new ArrayList<>();

this.rows=rows;

this.setPagesize(pagesize);

this.setPagenum(pagenum);

}

public Page() {

super();

}

public int getPagenum() {

return pagenum;

}

public void setPagenum(int pagenum) {

if(pagenum>getTotalpage())

{

this.pagenum=getTotalpage();

}

else {

this.pagenum = pagenum;

}

if(pagenum<1)

{

this.pagenum=1;

}

}

public int getPagesize() {

return pagesize;

}

public void setPagesize(int pagesize) {

this.pagesize = pagesize;

}

public int getTotalpage() {

//计算总页数

if(rows%pagesize==0)

{

return rows/pagesize;

}

else {

return rows/pagesize+1;

}

}

public int getRows() {

return rows;

}

public void setRows(int rows) {

this.rows = rows;

}

public int getIndexnum() {

//获取索引值

return pagesize*(pagenum-1);

}

public List getData() {

return data;

}

public void setData(List data) {

this.data = data;

}

}

初始化时我们只需要获得数据总条数,页数及每页显示条数。数据总条数可以用sql语句select count(*)from table 获得。每次查询时只需要传入当前页数就可以了。将每次查询后的page对象传入jsp前台页面,并以一个div来显示

显示div

首页

上一页

[${num }]

${num }

下一页

末页

其中的一个choose是用于规定页面显示的最大页数,这里是5页,就是说当点到第4页是时,第1页就会消失,出现第6页。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:label+input实现按钮开关切换效果的实例
下一篇:java实现切图并且判断图片是不是纯色/彩色图片
相关文章

 发表评论

暂时没有评论,来抢沙发吧~