JDBC、mysql、jsp分页

分页首先需要考虑以下四个变量。

int pageSize:每页显示多少条记录;
int pageCount:总共有多少页;
int pageNow:当前显示页;
int rowCount:一共有多少条记录;
其中:pageSize是我们指定,想让页面显示多少条就让他显示多少条记录,
pageNow是用户选择的,rowCount是数据库中的数据总共有多少条,pageCount就是
计算出来的页数。
计算算法如下:

if(rowCount%pageSize==0){
  pageCount=rowCount/pageSize;
}
else{
pageCount=rowCount/pageSize+1;
}

**select *from tableName limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录
n是指从第m+1条开始,取n条。
select * from tablename limit 2,4
即取出第3条至第6条,4条记录**

<h1>用户信息表</h1>
   <%
   //定义分页变量
   int pageSize=3;//一页有几条
   int pageNow=1;//当前页数
   int rowCount=0;//总共有多少条
   int pageCount=0;//总共有多少页

   String pageNum=request.getParameter("pageNow");
   if(pageNum!=null){
   pageNow= Integer.parseInt(pageNum);
   }
    String username="root";
    String password="admin";
    String url="jdbc:mysql://localhost:3306/jsp";
    Connection conn=null; 
    Class.forName("com.mysql.jdbc.Driver");
    conn= DriverManager.getConnection(url,username,password);
    PreparedStatement ps=null;
    ResultSet rs=null;

    String sql="select count(*) from users";
    ps=conn.prepareStatement(sql);
    rs=ps.executeQuery();

    if(rs.next()){
    rowCount=rs.getInt(1);//获取数据库的总记录数;
    }
   //计算pageCount;
   if(rowCount%pageSize==0){
   pageCount=rowCount/pageSize;
   }else{
   pageCount=rowCount/pageSize+1;//不能整除+1;
   }

    //String sql="select * from product limit "+(pageNo-1)*pageSize+","+pageSize; 
   String sql1="select * from users  limit "+(pageNow-1)*pageSize+","+pageSize+"";
   ps=conn.prepareStatement(sql1);
   rs=ps.executeQuery();
   %>
   <table border="1" bgcolor="#33ffee">
   <tr><td>ID</td><td>用户名</td><td>密码</td><td>邮箱</td><td>权限</td></tr>
   <% 
       while(rs.next()){
       %>   
      <tr>
         <td><%=rs.getInt(1) %></td>
         <td><%=rs.getString(2) %></td>
         <td><%=rs.getString(3) %></td>
         <td><%=rs.getString(4) %></td>
         <td><%=rs.getString(5) %></td>
      </tr> 

      <%  
       }      
    %>
   </table>

   <%

    if(pageNow>1){
    out.println("<a href=wel.jsp?pageNow="+(pageNow-1) +">上一页</a>");
    }


    for(int i=1;i<=pageCount;i++){
   out.println("<a href=wel.jsp?pageNow="+i+">["+i+"]</a>");

    }  

    if(pageNow<pageCount){
    out.println("<a href=wel.jsp?pageNow="+(pageNow+1) +">下一页</a>");
    }
    %>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值