JDBC操作數據庫之查詢數據


以數據庫中查找圖書信息,並將信息顯示在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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM