首页 > 代码库 > 分页查询
分页查询
一、分页查询的优势:
1.数据清晰直观
2.页面不在冗长
3.不受数据量的限制
分页查询的实现方法
1.编写分页查询sql语句
2.编写分页查询方法
3.实现分页查询显示
二、分页的两个部分
1.数据分页查询
2.数据分页显示
三、数据分页查询的实现步骤
1.确定每页显示的数据数量
2.确定需要显示的数据总数量
//编写查询信息总数量的sql语句
String sql="select count(*) from detail";
//通过JDBC进行SQL语句执行
Object[] paramas={};
ResultSet rs=this.executeSQL(sql,params);
//获取总记录数
totalCount=rs.getInt(1);
3.计算显示的页数
//总页数
private int totalPageCount=1;
//页面大小,每页显示的记录数
private int pageSize=0;
//记录总数
private int recordCount=0;
//设置总页数
private void setTotalPageCountByRs(){
if(this.recordCount%this.pageSize==0){
this.totalPageCount=this.recordCount/this.pageSize;
}else if(this.recordCount%this.pageSize>0){
this.totalPageCount=this.recordCount/this.pageSize+1;
}else{
this.totalPageCount=0;
}
}
4.编写分页查询SQL语句
5.实现分页查询
List<News> newsList-new ArrayList<News>();
//编写分页查询SQL语句
String sql="select id,title,author,createdate from
(select id,title,author,createdate,rowmun rn from detail)
a where a.rn>=? and a.rn<=?";
Page page=new Page();
page.setCurrPageNo(pageNo);//设置当前页码
page.setPageSize(pageSize);//每页显示记录数
//计算sql语句的起始记录数以及结束记录数的行数
int startRow=page.getStartRow();
int endRow=page.getEndRow();
Object[] params={startRow,endRow};
ResultSet rs=this.executeSQL(sql,params);
数据分页查询的实现的关键点:
1.计算总页数
如果总记录数能被每页显示记录数整除:
总页数=总记录数/每页显示记录数
如果总记录数不能被每页显示记录数整除:
总页数=总记录数/每页显示记录数+1
2.计算分页查询时的起始记录数与结束记录数
起始记录数:(当前页码-1)*每页显示的记录数+1
结束记录数:当前页码*每页显示的记录数
四、数据分页显示
分页查询