JSP分页思想2—核心代码

一、通过order by id desc limit ?,? 控制当前页面显示的记录

JSP分页思想2—核心代码

显示第几页,共几页,上一页 下一页

<% 
    int PageSize=2; //一页显示的记录数
    int RowCount=0; //记录总数
    int PageCount=0; //总页数
    int intPage; //待显示页码
    int i;//循环变量
    String strPage = request.getParameter("page");  //取得待显示页码
                    if(strPage==null){
                        //表明在QueryString中没有page这一个参数,此时显示第一页数据
                        intPage = 1;
                    } else{
                        //将字符串转换成整型
                        intPage = java.lang.Integer.parseInt(strPage);
                        //if(intPage<1) intPage = 1;
                    }
                    //获取记录总数
	String sql = "select count(*) from employee_info"; 
try {    Statement stmt = conn.createStatement();// 创建Statement
		 ResultSet rs = stmt.executeQuery(sql); 
	if(rs.next()){ RowCount = rs.getInt(1); }
    	//获取总页数
     if(RowCount%PageSize==0){
		PageCount=RowCount/PageSize;
		}else{PageCount=RowCount/PageSize+1;}
   String  condition="select * from employee_info order by id desc limit ?,?";    
	PreparedStatement ps = conn.prepareStatement(condition); 
	ps.setInt(1, (intPage - 1) * PageSize); 
	ps.setInt(2, PageSize); 
	 rs = ps.executeQuery();// 执行查询操作
	out.print("<table border='1' width='100%'>");
  	out.print("<tr>"); out.print("<th >"+"雇员号"+"</th>");
  	out.print("<th >"+"姓名"+"</th>");
  	out.print("<th >"+"出生日期"+"</th>");
  	 out.print("</tr>");
    while(rs.next()){// 光标向后移动,并判断是否有效
		 out.print("<tr>");
		String id=rs.getString(1);
             out.print("<td >"+id+"</td>"); 
             out.print("<td >"+rs.getString(2)+"</td>");
             out.print("<td >"+rs.getDate("birthday")+"</td>"); 
             out.print("</tr>") ; 
 	}
  	out.print("</table>");
		rs.close();// 关闭ResultSet
		ps.close();// 关闭PreparedStatement
		conn.close();// 关闭Connection
} catch (SQLException e) { e.printStackTrace(); }
                 %>              
 
          <div align="center">
                第<%=intPage%>页 共<%=PageCount%>页
                <%
                if(intPage<PageCount){
                %>
                <a href="admin2.jsp?page=<%=intPage+1%>">下一页</a>
                <%
                 }
                 if(intPage>1){%>
                <a href="admin2.jsp?page=<%=intPage-1%>">上一页</a>
            <%}%>
   </div>

二、显示所有页码

JSP分页思想2—核心代码

前面分页程序不变,只在显示页码处通过循环输出所有页码并做上超链接。

<div align="center">
	第<%=intPage%>页 共<%=PageCount%>页
	<%  StringBuffer sb=new StringBuffer();
	for( i=1;i<=PageCount;i++){
	if(i==intPage){
		sb.append("["+i+"]");
	}else{
		sb.append("<a href='admin2.jsp?page="+i+"'>"+i+"</a>");
	}
	sb.append(" ");
	}%>               
 <% out.print(sb);  %>            
</div>

推荐阅读:JSP+MySQL MVC综合案例:完整的分页查询

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4055.html

(0)
江山如画的头像江山如画管理团队
上一篇 2019年10月30日 上午10:31
下一篇 2019年10月30日 下午4:17

99%的人还看了以下文章

  • 全!最详细的mysql新手安装教程

    数据库排名:Oracle,mysql和 Microsoft SQL Server 仍占据前三名。 Mysql是什么? mysql是一个关系型数据库软件,由瑞典MySQL AB公司开发,目前属于Oracle公司。 为什么使用mysql? 1)mysql是开源的,所以你不需要支付额外的费用就能使用。 2)mysql支持大型的数据库。可以处理拥有上千万条记录的大型…

    2023年1月28日 编程开发
    1.9K0
  • JSP实现用户登录总次数及用户最后一次登录时间功能(附代码)

    实现原理: 数据库表中,设置两个字段total_login_count(登录总次数,int型)和 last_login_time(最后登录时间,datetime型) 1. 记录用户的登录总次数 用户每登录一次,将数据库中的相应字段值加 1,代码如下: String sql =”update testuser set total_login_count = t…

    编程开发 2018年7月3日
    3.3K0
  • AdaGrad算法—随机梯度下降算法

    AdaGrad算法,它可以根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题。

    2023年10月9日
    1.0K0
  • MySql数据库Timestamp、time、datetime 区别及使用详解

    对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 。 不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢? 一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分为两部分:date部分和time部分,其中,date部分对应格式中的“YYYY-MM-DD…

    编程开发 2018年5月2日
    6.4K1
  • Tomcat8启动一闪而过、Tomcat8启动闪退的解决办法(精)

    下载了Tomcat8,在CMD命令下输入命令:startup,Tomcat8启动一闪而过,测试http://localhost:8080/ 无法打开,网上找了很多文章都没解决,后来折腾出来了,特写教程分享给大家! Tomcat8.0 解压缩完,运行tomcat8.exe屏幕一闪就没了,运行tomcat8w.exe弹出个筐:  Unable to open t…

    2019年4月8日 编程开发
    21.9K0
  • 使用Eclipse和Android Studio进行移动开发有什么不同?

    在Google I/O 2013发布会上谷歌推出了AndroidStudio开发者工具,该工具的开发环境和模式更加的丰富和便捷。 AndroidStudio的正式版发布时间是14年12月,谷歌宣布Android Studio将取代Eclipse,正式成为官方集成开发软件,并中止对后者支持。目前进行移动开发,仍有不少互联网公司是使用eclipse,eclips…

    2018年2月9日
    3.1K0

发表回复

登录后才能评论