JAVA/JSP学习系列之八(改写MySQL翻页例子)

标题:JAVA/JSP学习系列之八(改写MySQL翻页例子)攻略

标题: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("&nbsp;<a href=\"?currentPage=" + (currentPage - 1) + "\">上一页</a>");
        out.print("&nbsp;<a href=\"?currentPage=" + (currentPage + 1) + "\">下一页</a>");
        out.print("&nbsp;<a href=\"?currentPage=" + pageCount + "\">末页</a>");
        out.print("&nbsp;总记录数:" + recordCount);
        out.print("&nbsp;每页显示:" + pageSize + " 条记录");
        out.print("&nbsp;当前页:" + 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翻页例子)

基础教程推荐