💡💡💡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值因为我之前有过一些操作,所以不连续,但是不关键,关键是能够把数据库里的信息完全展现出来,以下是数据库信息