标题:JAVA/JSP学习系列之八(改写MySQL翻页例子)攻略
介绍:这篇攻略是对于JAVA/JSP学习系列之八的内容进行详细讲解,通过改写MySQL翻页例子,从而实现翻页操作,方便用户进行数据查询和浏览。以下为详细步骤:
一、下载MySQL JDBC驱动程序
1.1 打开MySQL官网,下载最新版本的JDBC驱动程序
1.2 将下载好的驱动解压缩到合适的目录中,例如F:\java_lib中
1.3 在项目中引入MySQL JDBC驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
二、创建数据库和数据表
2.1 创建数据库
CREATE DATABASE java_web;
2.2 创建书籍数据表
CREATE TABLE book (
id INT UNSIGNED AUTO_INCREMENT,
book_name VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
2.3 插入数据
INSERT INTO book (book_name, author) VALUES
('Java程序设计', '张三'),
('Python程序设计', '李四'),
('PHP程序设计', '王五'),
('C#程序设计', '赵六');
三、创建JSP页面
3.1 创建index.jsp页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>书籍列表</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
int pageSize = 2; // 每页显示的记录数
int currentPage = 1; // 当前页号
String strCurrentPage = request.getParameter("currentPage");
if (strCurrentPage != null) {
currentPage = Integer.parseInt(strCurrentPage);
}
// 加载驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
String url = "jdbc:mysql://localhost:3306/java_web?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true";
Connection conn = DriverManager.getConnection(url, "root", "");
// 创建Statement对象
Statement stmt = conn.createStatement();
// 创建ResultSet对象
ResultSet rs = stmt.executeQuery("SELECT * FROM book LIMIT " + (currentPage - 1) * pageSize + ", " + pageSize);
out.println("<table border=\"1\">");
out.println("<tr><td>序号</td><td>书名</td><td>作者</td></tr>");
while (rs.next()) {
int id = rs.getInt("id");
String bookName = rs.getString("book_name");
String author = rs.getString("author");
out.println("<tr><td>" + id + "</td><td>" + bookName + "</td><td>" + author + "</td></tr>");
}
out.println("</table>");
// 计算页数
ResultSet rsCount = stmt.executeQuery("SELECT COUNT(*) AS count FROM book");
rsCount.next();
int recordCount = rsCount.getInt("count");
int pageCount = (recordCount + pageSize - 1) / pageSize;
// 显示分页链接
out.print("<a href=\"?currentPage=1\">首页</a>");
out.print(" <a href=\"?currentPage=" + (currentPage - 1) + "\">上一页</a>");
out.print(" <a href=\"?currentPage=" + (currentPage + 1) + "\">下一页</a>");
out.print(" <a href=\"?currentPage=" + pageCount + "\">末页</a>");
out.print(" 总记录数:" + recordCount);
out.print(" 每页显示:" + pageSize + " 条记录");
out.print(" 当前页:" + currentPage + "/" + pageCount);
// 关闭ResultSet对象
rs.close();
// 关闭Statement对象
stmt.close();
// 关闭连接
conn.close();
%>
</body>
</html>
3.2 运行index.jsp页面,在浏览器中可以看到分页数据列表,以及分页链接。
示例一:修改页面每页显示的记录数
在index.jsp页面中,修改pageSize变量的值,如将其改为3,每页显示的记录数就会由2条变为3条。重新运行页面即可看到效果。
示例二:修改数据库连接参数
在index.jsp页面中,修改url变量的值,即可修改数据库的连接参数,如将其改为:
jdbc:mysql://localhost:3306/java_web?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8
即可修改数据库连接的字符集编码为UTF-8。重新运行页面即可看到效果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA/JSP学习系列之八(改写MySQL翻页例子) - Python技术站