• 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>
  • 相关阅读:
    Installshield制作安装程序
    vista以上系统中开发的程序以管理员权限运行
    检查当前系统版本是否为Vista或更高的版本
    在程序运行过程中调用另一个程序
    Spin Control(旋转按钮控件、上下微调按钮控件)
    因改变工具栏图标导致菜单栏高度随之变大的解决方案
    Unicode环境下的字符差异
    注册表API
    文件的读写操作
    const char* 和 char* const
  • 原文地址:https://www.cnblogs.com/lihuibin/p/7477601.html
Copyright © 2020-2023  润新知