1. 程式人生 > >JDBC操作數據庫之查詢數據

JDBC操作數據庫之查詢數據

arr 移動 null pattern || tle back pub long

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

JDBC操作數據庫之查詢數據