javaweb之JDBC技术基础训练三图书管理系统:查询数据功能实现

💡💡💡javaweb之JDBC技术基础训练之管理系统全集🙌🙌🙌👇👇👇

添加链接描述javaweb之JDBC技术基础训练—图书管理系统:数据准备、可能遇到的问题的解决方法🤟
javaweb之JDBC技术基础训练二图书管理系统:从数据库插入数据功能实现🤟
javaweb之JDBC技术基础训练三图书管理系统:查询数据功能实现🤟
javaweb之JDBC技术基础训练四图书管理系统:修改功能的实现🤟
javaweb之JDBC技术基础训练五图书管理系统:删除数据项🤟

在这里插入图片描述

Book类

相信看过之前博客的朋友对这个不陌生啦,在这里呢肯定都是要用到它的,不赘述了,可以去看往期的博客

创建Servlet对象

查询数据和添加数据的流程是很相似的,只不过最后在查询的时候需要返回一个结果集,我们一般用一个对象来封装这个结果集,没错,这个对象就是ResultSet
以下是FindServlet对象,用于查询所有图书信息

package com.xmonster.servlet;

import com.xmonster.bean.Book;//导入噢

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class FindServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        try{
            Class.forName("com.mysql.jdbc.Driver");//加载驱动
            String url = "jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC";
            String username="root";
            String password="123456";
            Connection connection = DriverManager.getConnection(url, username, password);
            Statement statement = connection.createStatement();
            String sql = "select * from tb_book";
            ResultSet resultSet = statement.executeQuery(sql);//执行查询
            List<Book> list = new ArrayList<Book>();
            while (resultSet.next()){
                Book book = new Book();
                book.setId(resultSet.getInt("id"));
                book.setName(resultSet.getString("name"));
                book.setPrice(resultSet.getDouble("price"));
                book.setBookCount(resultSet.getInt("bookCount"));
                book.setAuthor(resultSet.getString("author"));
                list.add(book);

            }
            req.setAttribute("list", list);
            resultSet.close();
            statement.close();
            connection.close();
            
        }catch (ClassNotFoundException e){
            e.printStackTrace();
        }catch (SQLException e){
            e.printStackTrace();
        }
        req.getRequestDispatcher("book_List.jsp").forward(req, resp);
        //请求转发到book_list.jsp
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

创建bool_List.jsp页面

<%@ page import="com.xmonster.bean.Book" %>
<%@ page import="java.util.List" %><%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2021/10/31
  Time: 23:25
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>book_List</title>
</head>
<body>
    <table align="center" width="500" border="1">
        <tr>
            <td align="center" colspan="2">
                <h2>所有图书信息</h2>
            </td>
        </tr>
        <tr align="center">
            <td><b>ID</b></td>
            <td><b>图书名称</b></td>
            <td><b>价格</b></td>
            <td><b>数量</b></td>
            <td><b>作者</b></td>
        </tr>
            <%
                //获取所有图书的信息
                List<Book> list = (List<Book>) request.getAttribute("list");
                //判断集合是否为空、是否有效
                if(list == null || list.size()<1){
                    out.println("抱歉,没有检测到数据!");
                }else{
                    for(Book book:list){
            %>
        <tr align="center">
            <td><%=book.getId()%></td>
            <td><%=book.getName()%></td>
            <td><%=book.getPrice()%></td>
            <td><%=book.getBookCount()%></td>
            <td><%=book.getAuthor()%></td>

        </tr>
            <%
                   }
                }
            %>

    </table>

</body>
</html>

index.jsp检测

这里就写的很简单啦

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Index</title>
  </head>
  <body>
  <a href="FindServlet">点击查看所有图书信息</a>
    </body>
</html>

效果

在这里插入图片描述

在这里插入图片描述
ID值因为我之前有过一些操作,所以不连续,但是不关键,关键是能够把数据库里的信息完全展现出来,以下是数据库信息
在这里插入图片描述

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是X大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值