免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1009 | 回复: 0
打印 上一主题 下一主题

mysq数据库分页显示 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:44 |只看该作者 |倒序浏览
开发工具:MyEclipse8.6+MySql5+Tomcat7.0.5
数据库分页显示案例:
page.jsp
  1. <%@ page contentType="text/html; charset=gb2312" %>
  2. <%@ page language="java" import="java.sql.*" %>
  3. <html>
  4. <head>
  5. <title>JSP连接SQL数据库实现数据分页显示</title>
  6. </head>
  7. <body>
  8.   <center>HelloWorld</center>
  9. <h1 align="center">JSP连接SQL数据库实现数据分页显示</h1>

  10. <%
  11. Class.forName("com.mysql.jdbc.Driver").newInstance();
  12. String url="jdbc:mysql://localhost:3306/pubs";
  13. String user="root";
  14. String password="admin";
  15. Connection conn=DriverManager.getConnection(url,user,password);
  16. Statement stmt=
  17. conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
  18. String sql="select * from employee";
  19. ResultSet rs=stmt.executeQuery(sql);
  20.    int pageSize;//一页显示的记录数

  21.    int totalItem;//记录总数

  22.    int totalPage;//总页数

  23.    int curPage;//待显示页码

  24.    String strPage;
  25.    int i;
  26.    pageSize=10;//设置一页显示的记录数

  27.    strPage=request.getParameter("page");//获得待显示页码

  28.    if(strPage==null)
  29.    {
  30.     curPage=1;
  31.    }
  32.    else
  33.    {
  34.     curPage=java.lang.Integer.parseInt(strPage);//将字符串转换成整形

  35.    }
  36.    if(curPage<1)
  37.    {
  38.     curPage=1;
  39.    }
  40.    rs.last();//获取记录总数

  41.    totalItem=rs.getRow();
  42.    totalPage=(totalItem+pageSize-1)/pageSize;
  43.    if(curPage>totalPage) curPage=totalPage;//调整待显示的页码

  44.    if(totalPage>0)
  45.    {//将记录指针到待显示页的第一条记录上

  46.     rs.absolute((curPage-1)*pageSize+1);
  47.    }
  48.    i=0;
  49.    %>
  50.   <table width="60%" border="1" align="center" bordercolor="#996699" bgcolor="#FFFFFF">
  51.   <tr bgcolor="#CCFFFF">
  52.     <td align="center">emp_id</td>
  53.     <td align="center">fname</td>
  54.     <td align="center">minit</td>
  55.     <td align="center">lname</td>
  56.     <td align="center">job_id</td>
  57.     <td align="center">job_lvl</td>
  58.     <td align="center">pud_id</td>
  59.     <td align="center">hire_date</td>
  60.   </tr>
  61.    <%//显示数据

  62.    while(i<pageSize && !rs.isAfterLast())
  63.    {
  64.    %>
  65.     <tr>
  66.      <td><%=rs.getString(1)%></td> <!---取出表中第一个字段-->
  67.      <td><%=rs.getString(2)%></td>
  68.      <td><%=rs.getString(3)%></td>
  69.      <td><%=rs.getString(4)%></td>
  70.      <td><%=rs.getString(5)%></td>
  71.      <td><%=rs.getString(6)%></td>
  72.      <td><%=rs.getString(7)%></td>
  73.      <td><%=rs.getString(8)%></td>
  74.     </tr>
  75.    <%
  76.    rs.next();
  77.    i++;
  78.    }
  79.    %>
  80.    </table><p align="center">
  81.    共<%=totalItem%>个记录,<%=totalPage%>页显示,当前页是:<%=curPage%><br />
  82.    <%if(curPage>1){%><a href="page.jsp?page=1">首页</a><%}%>&nbsp;&nbsp;
  83.    <%if(curPage>1){%><a href="page.jsp?page=<%=curPage-1%>">上一页</a><%}%>&nbsp;&nbsp;
  84.    <%
  85.    for(int j=1;j<=totalPage;j++)
  86.    {
  87.     out.print("&nbsp;&nbsp;<a href='page.jsp?page="+j+"'>"+j+"</a>");
  88.    }
  89.    %>
  90.    &nbsp;&nbsp;
  91.    <%if(curPage<totalPage){%><a href="page.jsp?page=<%=curPage+1%>">下一页</a><%}%>&nbsp;&nbsp;
  92.    <%if(totalPage>1){%><a href="page.jsp?page=<%=totalPage%>">末页</a><%}%>
  93.    <%
  94.     rs.close();
  95.    stmt.close();
  96.    conn.close();
  97.    %>
  98. </body>
  99. </html>
运行结果:
mysql数据库表结构:
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP