jdbc查询数据库中数据

来源:互联网 发布:美团外卖消费数据分析 编辑:程序博客网 时间:2024/05/22 00:12

接着上一篇在数据库中添加数据

介绍通过JDBC查询数据,主要通过Resultset对象来加载查询结果集。

ResultSet对象是JDBC API中封装的结果集对象,从数据表中查询数据均放置在这个集合中

创建WEB项目,通过JDBC查询图书信息表中的图书信息并且显示在JSP中

1)创建名为“ Book”的类,用于封装图书信息:

package com.xhd.bean;/** *  * @author Administrator * */public class Book {private int id;private String name;private double price;private int bookCount;private String author;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getBookCount() {return bookCount;}public void setBookCount(int bookCount) {this.bookCount = bookCount;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}}

2)创建名为"FirstServlet"的Servlet对象,用于查询所有图书信息。

在其中编写doGet()方法建立数据库连接。

并将查询的数据集合放置到HttpServlet对象中,将请求转发到JSP页面

package com.xhd.bean;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 查询图书信息的Servlet对象 * @author  * */public class FindServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {try {// 加载数据库驱动,注册到驱动管理器Class.forName("com.mysql.jdbc.Driver");// 数据库连接字符串String url = "jdbc:mysql://localhost:3306/db_database11";// 数据库用户名String username = "root";// 数据库密码String password = "111";// 创建Connection连接Connection conn = DriverManager.getConnection(url,username,password);// 获取StatementStatement stmt = conn.createStatement();// 添加图书信息的SQL语句String sql = "select * from tb_book";// 执行查询ResultSet rs = stmt.executeQuery(sql);// 实例化List对象List<Book> list = new ArrayList<Book>();// 判断光标向后移动,并判断是否有效while(rs.next()){// 实例化Book对象Book book = new Book();// 对id属性赋值book.setId(rs.getInt("id"));// 对name属性赋值book.setName(rs.getString("name"));// 对price属性赋值book.setPrice(rs.getDouble("price"));// 对bookCount属性赋值book.setBookCount(rs.getInt("bookCount"));// 对author属性赋值book.setAuthor(rs.getString("author"));// 将图书对象添加到集合中list.add(book);}// 将图书集合放置到request之中request.setAttribute("list", list);rs.close();// 关闭ResultSetstmt.close();// 关闭Statementconn.close();// 关闭Connection} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}// 请求转发到book_list.jsprequest.getRequestDispatcher("book_list.jsp").forward(request, response);}}
由于查询图书信息的SQL语句中并不需要参数信息,使用statement对象执行查询。

在doGet()方法中首先获取数据库的连接Connection,

然后通过Statement对象执行查询图书信息的select语句,并获取resultset结果集

最后遍历resultset中的数据来封装图书对象Book,将其添加到list集合中,转发jsp页面显示

获取Resultset对象后,即可通过移动光标定位到查询结果中的指定行,然后通过resultset对象提供的一系列getXXX()方法来获取当前行的数据。

3)创建book_list.jsp页面,显示图书信息

<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@page import="java.util.List"%><%@page import="com.xhd.bean.Book"%><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>所有图书信息</title><style type="text/css">td{font-size: 12px;}h2{margin: 0px}</style></head><body><table align="center" width="450" border="1" height="180" bordercolor="white" bgcolor="black" cellpadding="1" cellspacing="1"><tr bgcolor="white"><td align="center" colspan="5"><h2>所有图书信息</h2></td></tr><tr align="center" bgcolor="#e1ffc1" ><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.print("没有数据!");}else{// 遍历图书集合中的数据for(Book book : list){%><tr align="center" bgcolor="white"><td><%=book.getId()%></td><td><%=book.getName()%></td><td><%=book.getPrice()%></td><td><%=book.getBookCount()%></td><td><%=book.getAuthor()%></td></tr><%}}%></table></body></html>

4)创建index.jsp页面作为主页

<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>查看所有图书</title></head><body><a href="FindServlet">查看所有图书</a></body></html>



0 0
原创粉丝点击