Java Web—数据库分页操作
2016-11-23 17:34
330 查看
pages.jsp
数据库:
运行结果:
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%> <%@include file="pagescount.jsp"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>分页显示</title> </head> <body bgcolor="cce8cf"> <center> <% String ToPage = request.getParameter("ToPage"); //判断是否取得ToPage参数 if (ToPage != null) { //取得指定显示的分页页数 ShowPage = Integer.parseInt(ToPage); //下面的语句判断用户输入的页数是否正确 if (ShowPage >= PageCount) { ShowPage = PageCount; } else if (ShowPage <= 0) { ShowPage = 1; } } //计算欲显示页的第一笔记录位置 rs.absolute((ShowPage - 1) * PageSize + 1); %> <h3> 当前在第 <font size="4" color="red"><%=ShowPage%></font>页,共<%=PageCount%>页 </h3> <p> <% //利用for循环配合PageSize属性取出一页中的数据 for (int i = 1; i <= PageSize; i++) { %> <table border="1" width="90%"> <tr> <td>书名ID</td> <td><%=rs.getString("pub_id")%></td> <td>书名</td> <td><%=rs.getString("title")%></td> <td>类型</td> <td><%=rs.getString("type")%></td> <td>价格</td> <td><%=rs.getFloat("price")%></td> </tr> <tr> <td>备注</td> <td colspan="7"><%=rs.getString("notes")%></td> </tr> </table> </p> <% //下面的语句用于输出最后一条记录时,将指针移到最后一笔记录之后 if (!rs.next()) { //跳出for循环 break; } } %> <table> <tr> <% //判断当前是否在第一页,不是第一页,则显示到第一页与下一页的连接 if (ShowPage != 1) { %> <td width=150><a href="pages.jsp?ToPage=<%=1%>">第一页</a></td> <td width=150><a href="pages.jsp?ToPage=<%=ShowPage - 1%>">上一页</a> </td> <% } //判断是否在最后一页,是,则显示到最后一页和下一页 if (ShowPage != PageCount) { %> <td width=150><a href="pages.jsp?ToPage=<%=ShowPage + 1%>">下一页</a> </td> <td width=150><a href="pages.jsp?ToPage=<%=PageCount%>">最后一页</a> </td> <% } %> </tr> <tr> <td colspan="4" align="center"> <form action="pages.jsp" method="post" name="form1"> <input type="text" name="ToPage" value="<%=ShowPage%>" style="height: 25px; width: 40px"> 页 <a href="javascript:window.document.form1.submit();">GO</a> </form></td> </tr> </table> </center> <script language="javascript"> function go() { window.document.form1.submit(); } </script> </body> </html>pagescount.jsp
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>pagescount</title> </head> <body> <%!//设置每张网页显示三笔记录(每页显示的记录数) int PageSize = 3; //设置欲显示的页数(初始页) int ShowPage = 1; //ResultSet的记录笔数(总记录数) int RowCount = 0; //ResultSet分页后的总数(总页数) int PageCount = 0; Connection con = null; Statement stmt = null; ResultSet rs = null;%> <%!//连接数据库并初始数据 public void jspInit() { try { Class.forName("com.mysql.jdbc.Driver").newInstance();// 加载mysql驱动程序 String url = "jdbc:mysql://localhost:3306/user?user=root&password=root"; System.out.println("连接成功"); con = DriverManager.getConnection(url, "root", "root");// 获取连接 stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs = stmt.executeQuery("select * from book"); //将指标移至最后一条记录 rs.last(); //获取记录总数 RowCount = rs.getRow(); //计算显示的页数(关键) PageCount = ((RowCount % PageSize) == 0 ? (RowCount / PageSize) : (RowCount / PageSize) + 1); } catch (Exception e) { System.out.println(e.getMessage()); } }%> <%!public void jspDestroy() { //执行关闭各个对象的操作 try { rs.close(); stmt.close(); con.close(); System.out.println("数据库已关闭"); } catch (Exception e) { System.out.println(e.getMessage()); } }%> </body> </html>
数据库:
CREATE TABLE `user`.`book` ( `pub_id` INT NOT NULL , `title` VARCHAR(15) NULL , `type` VARCHAR(15) NULL , `price` FLOAT NULL , `notes` VARCHAR(45) NULL , PRIMARY KEY (`pub_id`) ); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (01, '高等数学', '数学', 23.0, '高等数学出版社'); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (02, '数据库', '专业课', 39.8, '高等教育出版社'); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (03, 'Java Web', '专业', 99.9, '清华大学出版社'); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (04, 'Android', '专业', 78.0, '电子工业出版社'); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (05, '软件工程', '专业', 34.0, '高等教育出版社'); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (06, '组合数学', '数学', 32.5, '机械工业出版社'); INSERT INTO `user`.`book` (`pub_id`, `title`, `type`, `price`, `notes`) VALUES (07, '计算机英语', '英语', 28.9, '机械工业出版社');
运行结果:
相关文章推荐
- java_web学习第十天(JDBC数据库驱动----分页、事务)
- Java Web----Java Web的数据库操作(三)
- JAVAWEB开发之JDBC详解(连接操作数据库、处理大数据、批处理)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWEB--POI之EXCEL操作、优化、封装详解系列(六)--PoiExportUtil使用文档(2)分页
- java web 分页 基于sql 2005 数据库
- Java web 数据库 操作
- Java-web分页操作(jsp+servlet+javaBean)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWeb--数据库操作及数据库连接池(dbcp连接)
- Java Web----Java Web的数据库操作(一)
- Java_Web三大框架之Hibernate操作数据库(三)
- Java Web----Java Web的数据库操作(一)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- java-web分页操作(javaBean+Servlet+jsp)
- javaweb 程序一会能操作一会不能操作,一会能连上数据库一会不能!!!
- javaweb--jdbc--数据库操作学习笔记
- 2014-07-14 Java Web的学习(11)-----数据库分页&事务简单理解
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)