jsp分页查询

本文介绍了一种使用Java实现从数据库中分页显示学生信息的方法。通过设置每页记录数和当前页码,可以实现对数据库中学生信息的分页查询,并将查询结果展示在一个表格中。具体包括了连接数据库、执行SQL语句、处理查询结果等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<p>分页显示数据库记录</p>
   <table width="424" height="60" border="1" bordercolor="red" style="border-collapse: collapse">
     <tr>
     <td>学生编号</td>
     <td>学生姓名</td>
     <td>学生性别</td>
     <td>出生日期</td>
     <td>学生日期</td>
     <td>学生班级</td>
     </tr>
     <%
       try{
             String url="jdbc:mysql://localhost:3306/test";
              String username="root";
              String password="123456";
              Connection conn=null;
              Statement statement=null;
              ResultSet rs=null;
              Class.forName("com.mysql.jdbc.Driver");
              conn=DriverManager.getConnection(url,username,password);
              statement=conn.createStatement();
              String sql="select * from student";
              rs=statement.executeQuery(sql);
              int intPageSize=3;//每个页面记录数
              int intRowCount;//总记录数
              int i=0;
              int intPageCount;//总页数
              int intPage; //待显示的页码
              String strPage;
              strPage=request.getParameter("page");//待显示的页码
              if(strPage==null){
                  intPage=1;
              }else{
                  intPage=java.lang.Integer.parseInt(strPage);
              }
              if(intPage<1){
                  intPage=1;
              }

              rs.last();
              intRowCount=rs.getRow();
              intPageCount=(intRowCount+intPageSize-1)/intPageSize;
              if(intPage>intPageCount){
              //当前页大于总页数时,设为最大
              intPage=intPageCount;
          }
              if(intPageCount>0){
                  rs.absolute((intPage-1)*intPageSize+1);
              }

        while(i<intPageSize&&!rs.isAfterLast()){
     %>
     <tr>
     <td><%=rs.getString("id") %></td>
     <td><%=rs.getString("name") %></td>
     <td><%=rs.getString("sex") %></td>
     <td><%=rs.getString("birth") %></td>
     <td><%=rs.getString("score") %></td>
     <td><%=rs.getString("class") %></td>
     </tr>
     <%
       rs.next();
       i++;
     }
     rs.close();
     statement.close();
     conn.close();
     %><%=intRowCount%>个记录,分<%=intPageCount %>页显示,
             当前页是:第<%=intPage %><br><br>
           选择要显示的页数:
     <%
      for(int j=1;j<=intPageCount;j++){
          out.print("<a href='page.jsp?page="+j+"'>"+j+"</a>&nbsp;");
      }
     %>
     <br><br>
     <%
       }catch(Exception e){
           e.printStackTrace();
       }
     %>
</table>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值