欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDBC操作数据库之查询数据

程序员文章站 2022-06-01 17:09:35
...

以数据库中查找图书信息,并将信息显示在jsp页面当中为例,下面贴上代码片段:

(1)在index.jsp页面代码body中只要添加如下一段代码:

<a href="FindServlet">查看所有图书</a>

(2)FindServlet.java类代码

 1 package com.lyq.bean;
 2 import java.io.IOException;
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 import java.util.ArrayList;
 9 import java.util.List;
10 import javax.servlet.ServletException;
11 import javax.servlet.http.HttpServlet;
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.http.HttpServletResponse;
14 public class FindServlet extends HttpServlet {
15     private static final long serialVersionUID = 1L;
16 
17     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
18         try {
19             // 加载数据库驱动,注册到驱动管理器
20             Class.forName("com.mysql.jdbc.Driver");
21             // 数据库连接字符串
22             String url = "jdbc:mysql://localhost:3306/db_database10";
23             // 数据库用户名
24             String username = "root";
25             // 数据库密码
26             String password = "111";
27             // 创建Connection连接
28             Connection conn = DriverManager.getConnection(url,username,password);
29             // 获取Statement
30             Statement stmt = conn.createStatement();
31             // 添加图书信息的SQL语句
32             String sql = "select * from tb_books";
33             // 执行查询
34             ResultSet rs = stmt.executeQuery(sql);
35             // 实例化List对象
36             List<Book> list = new ArrayList<Book>();
37             // 判断光标向后移动,并判断是否有效
38             while(rs.next()){
39                 // 实例化Book对象
40                 Book book = new Book();
41                 // 对id属性赋值
42                 book.setId(rs.getInt("id"));
43                 // 对name属性赋值
44                 book.setName(rs.getString("name"));
45                 // 对price属性赋值
46                 book.setPrice(rs.getDouble("price"));
47                 // 对bookCount属性赋值
48                 book.setBookCount(rs.getInt("bookCount"));
49                 // 对author属性赋值
50                 book.setAuthor(rs.getString("author"));
51                 // 将图书对象添加到集合中
52                 list.add(book);
53             }
54             // 将图书集合放置到request之中
55             request.setAttribute("list", list);
56             rs.close();        // 关闭ResultSet
57             stmt.close();    // 关闭Statement
58             conn.close();    // 关闭Connection
59         } catch (ClassNotFoundException e) {
60             e.printStackTrace();
61         } catch (SQLException e) {
62             e.printStackTrace();
63         }
64         // 请求转发到book_list.jsp        request.getRequestDispatcher("book_list.jsp").forward(request, response);
65     }
66 }

(3)图书信息展示页面book_list.jsp代码

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <%@ page import="java.util.List" %>
 4 <%@ page import="com.java.Book" %>
 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 6 <html>
 7 <head>
 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 9 <title>查看所有图书</title>
10 <style type="text/css">
11     h2{
12         margin:0px;
13     }
14     div,td{
15         font-size:12px;
16     }
17 </style>
18 </head>
19 <body>
20     <div style="text-align:center;">
21         <table width="45px" border="1px" height="180px">
22             <tr bgcolor="white">
23                 <td colspan="4">
24                     <h2>所有图书信息</h2>
25                 </td>
26             </tr>
27             <tr bgcolor="#e1ffc1">
28                 <td><b>图书名称</b></td>
29                 <td><b>图书价格</b></td>
30                 <td><b>图书数量</b></td>
31                 <td><b>图书作者</b></td>
32             </tr>
33             <%
34           //获取图书信息集合
35             List<Book> list = (List<Book>)request.getAttribute("list");
36             //判断集合是否有效
37             if(list == null || list.size() < 1){
38                 out.print("没有数据");
39             }else{
40                 //遍历图书集合中的数据
41                 for(Book book:list){
42             %>
43             <tr bgcolor="white">
44                 <td><%= book.getName() %></td>
45                 <td><%= book.getPrice() %></td>
46                 <td><%= book.getBookcout() %></td>
47                 <td><%= book.getAuthor() %></td>
48             </tr>
49             <%
50                 }
51             }
52             %>
53         </table>
54     </div>
55 </body>
56 </html>

(4)最后web.xml中Servlet的配置信息为:

1 <servlet>
2       <servlet-name>FindServlet</servlet-name>
3       <servlet-class>com.java.FindServlet</servlet-class>
4   </servlet>
5   <servlet-mapping>
6       <servlet-name>FindServlet</servlet-name>
7       <url-pattern>/FindServlet</url-pattern>
8   </servlet-mapping>

 

上一篇: 实习day07

下一篇: mysql 事务