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翻页例子) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Android利用Intent实现记事本功能(NotePad)

    Android利用Intent实现记事本功能(NotePad) 在Android开发中,Intent是一种非常重要的通信机制,可以实现不同组件之间的互相调用。在本文中,我们将使用Intent实现记事本功能(NotePad)。 步骤一:新建项目 先在Android Studio中新建一个项目,选择Empty Activity,然后把App名称设置为NotePa…

    Java 2023年5月19日
    00
  • Java Exception 捕获和显示实例详解

    Java Exception 捕获和显示实例详解 什么是异常(Exception)? 在编写 Java 程序时,异常是不可避免的。异常是程序在运行时发生的错误或问题。 在 Java 中,异常被视为对象,这是由类派生的异常类的实例。 如果在运行程序时发生异常,程序会被终止。 Java 异常的类层次结构 在 Java 中,异常的类层次结构如下所示: java.l…

    Java 2023年5月26日
    00
  • Mybatis 动态SQL搭建环境的全过程

    Mybatis 动态SQL是 Mybatis 框架中非常重要的一个功能,可以通过此功能来动态生成 SQL 语句,从而满足不同场景需求。下面是 Mybatis 动态SQL搭建环境的全过程的详细介绍: 1. 环境准备 需要准备以下环境: JDK Maven MySQL数据库 Mybatis IDE插件(建议使用IDEA) 2. 创建项目 使用 Maven 创建一…

    Java 2023年6月1日
    00
  • Android通过HttpURLConnection和HttpClient接口实现网络编程

    Android通过HttpURLConnection和HttpClient接口实现网络编程 Android平台提供了两种网络编程接口:HttpURLConnection和HttpClient。使用它们可以很容易地进行网络通信,发送请求,接收和解析服务器的响应。 HttpURLConnection接口 HttpURLConnection是Android平台中的…

    Java 2023年6月15日
    00
  • Spring Boot 2.2 正式发布,大幅性能提升 + Java 13 支持

    Spring Boot 是基于 Spring 快速开发应用程序的框架,可以极大地简化 Spring 应用的初始搭建以及开发过程中的烦琐配置。2019年10月17日,Spring Boot 2.2 正式发布,不仅大幅度提升了性能,还支持最新的 Java 13 版本。下面我们详细讲解 Spring Boot2.2 的完整攻略。 1. Spring Boot 2.…

    Java 2023年5月15日
    00
  • SpringBoot集成Mybatis+xml格式的sql配置文件操作

    下面是SpringBoot集成Mybatis+xml格式的sql配置文件操作的完整攻略: 首先,在 pom.xml 文件中添加 Mybatis 和 Mybatis-SpringBoot-Starter 的依赖: <dependency> <groupId>org.mybatis</groupId> <artifact…

    Java 2023年6月1日
    00
  • java开发命名规范总结

    Java开发命名规范总结 在Java开发中,好的变量、方法、类的命名可以提高代码的可读性和可维护性,也是Java开发人员必须熟悉和掌握的基本规范之一。本文将介绍Java命名规范的常见规则,帮助Java开发人员合理命名。 变量命名规范 可读性为上 变量命名应该明显、具有可读性和可理解性,且要体现变量的含义和作用。一般建议使用英文单词或拼音加上数字或下划线来表示…

    Java 2023年5月26日
    00
  • 将Java程序的输出结果写到txt文件中的方法

    将Java程序的输出结果写到txt文件中是一个常见的需求,通常我们使用Java IO流来实现。下面是实现此目标的完整攻略。 1. 创建输出文件 首先需要创建输出文件,可使用如下代码: File outputFile = new File("output.txt"); 这里创建了一个名为“output.txt”的文件。这个文件如果不存在则会…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部