转载

JSP数据分页实例:MySQL翻页

JSP数据库操作可以实现JSP数据分页。本文提供了一个MySQL分页的例子。

一、运行前准备

下载了mysql的jdbc驱动(一个jar文件)并加载在CLASSPATH。

建一个MySQL数据库test

数据库中有一个表:note,字段为:name(varchar)

二、下载,安装

  1. < %@ page contentType="text/html;charset=gb2312" %> 
  2. < % java.sql.Connection sqlCon; //数据库连接对象  
  3. java.sql.Statement sqlStmt; //SQL语句对象  
  4. java.sql.ResultSet sqlRst; //结果集对象  
  5. java.lang.String strCon; //数据库连接字符串  
  6. java.lang.String strSQL; //SQL语句  
  7. int intPageSize; //一页显示的记录数  
  8. int intRowCount; //记录总数  
  9. int intPageCount; //总页数  
  10. int intPage; //待显示页码  
  11. java.lang.String strPage;  
  12. int i;  
  13. //设置一页显示的记录数  
  14. intPageSize = 2;  
  15. //取得待显示页码  
  16. strPage = request.getParameter("page");  
  17. if(strPage==null){  
  18. //表明在QueryString中没有page这一个参数,此时显示第一页数据  
  19. intPage = 1;  
  20. } else{  
  21. //将字符串转换成整型  
  22. intPage = java.lang.Integer.parseInt(strPage);  
  23. if(intPage< 1intPage = 1;  
  24. }  
  25. //装载JDBC驱动程序  
  26. Class.forName("org.gjt.mm.mysql.Driver").newInstance();  
  27. //连接数据库  
  28. sqlConjava.sql.DriverManager.getConnection("jdbc:mysql://localhost/test");  
  29. //创建语句对象  
  30. sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.  
  31. ResultSet.CONCUR_READ_ONLY); //执行SQL语句  
  32. strSQL = "select name from note";  
  33. //执行SQL语句并获取结果集  
  34. sqlRst = sqlStmt.executeQuery(strSQL);  
  35. //获取记录总数  
  36. sqlRst.last();  
  37. intRowCount = sqlRst.getRow();  
  38. //记算总页数  
  39. intPageCount = (intRowCount+intPageSize-1) / intPageSize;  
  40. //调整待显示的页码  
  41. if(intPage>intPageCount) intPage = intPageCount;  
  42. %> 
  43. < html> 
  44. < head> 
  45. < meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  46. < title>JSP数据库操作例程 - JSP数据分页显示 - JDBC 2.0 - mysql< /title> 
  47. < /head> 
  48. < body> 
  49. < table border="1" cellspacing="0" cellpadding="0"> 
  50. < tr> 
  51. < th>姓名< /th> 
  52. < /tr> 
  53. < % if(intPageCount>0)  
  54. {  
  55. //将记录指针定位到待显示页的第一条记录上  
  56. sqlRst.absolute((intPage-1) * intPageSize + 1);  
  57. //显示数据  
  58. i = 0;  
  59. while(i< intPageSize && !sqlRst.isAfterLast()){ %> 
  60. < tr> 
  61. < td> 
  62. < %=sqlRst.getString(1)%> 
  63. < /td> 
  64. < /tr> 
  65. < % sqlRst.next();  
  66. i++;  
  67. }  
  68. }  
  69. %> 
  70. < /table> 
  71. < %=intPage%>页 共< %=intPageCount%>页  
  72. < %if(intPage< intPageCount){%>< a href="mysqlpage.jsp?page=< %=intPage+1%>">下一页< /a>< %}%> 
  73. < %if(intPage>1){%>< a href="mysqlpage.jsp?page=< %=intPage-1%>">上一页< /a>< %}%> 
  74. < /body> 
  75. < /html> 
  76. < %  
  77. //关闭结果集  
  78. sqlRst.close();  
  79. //关闭SQL语句对象  
  80. sqlStmt.close();  
  81. //关闭数据库  
  82. sqlCon.close();  
  83. %> 

如何运行JSP数据分页?

将代码存为文件test.jsp

Orion Application Server下:

Copy到orion的default-web-app目录下,通过:

  1. http://localhost:port/test.jsp 

访问测试

对于Resin,Tomcat,JWS等等,都可以运行通过。JSP数据分页的实现方法到此介绍完毕。

正文到此结束
Loading...