您好,欢迎访问一九零五行业门户网

数据库连接池

计算确定数据表一共分几页:101/pagesize=100/10=10页。rows = select count(1) from users;方法1:pagecount = rows/pagesize + (rows%pagesize==0?0:1); 方法2:pagecount = (rows+ (pagesize-1))/(pagesize);public void doget(httpservletrequest req,
计算确定数据表一共分几页: 101/pagesize=100/10=10页。 rows = select count(1) from users; 方法1:pagecount = rows/pagesize + (rows%pagesize==0?0:1);方法2:pagecount = (rows+ (pagesize-1))/(pagesize);public void doget(httpservletrequest req, httpservletresponse response) throws servletexception, ioexception { //第一步:定义每页显示多少行 int pagesize = 10; try{ //第二步:获取数据表中有多少行 queryrunner run = new queryrunner(datasourceutils.getdatassource()); string sql = select count(*) from users; object o = run.query(sql,new scalarhandler()); int rows = integer.parseint(o.tostring()); //第三步:计算一共分多少页 int pagecount= rows/pagesize+(rows%pagesize==0?0:1); //将页数放到req req.setattribute(pagecount,pagecount); }catch(exception e){ e.printstacktrace(); } //转发到 req.getrequestdispatcher(/jsps/show.jsp).forward(req, response); }
第四步:分析limit的开始位置用户请求的面码
start
算法:
1
limit 0,pagesize
start
= (currentpage-1)*pagesize
2
limit 10,pagesize
3
limit 20,pagesize
第五步:对分页以后页码再分页       每个页面,最多显示10个页码
       pagenum=10;
startno
endno
当前页码
页码范围
算法
1
1~10
if(currentpage
  1~10
2
3
4
5
6
2~11
6-4=2 =
6-(pagenum/2-1)=2 = startno
endno = startno+(pagenum-1)=11
7
3~12
8
4~13
9
10
11
11-4 = 7
endno = 7+9=16
endno = 11;
startno = 2 = endno-(pagenum-1);
其它类似信息

推荐信息