天天看點

Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO

11.4 DAO和VO

1.DAO和VO核心知識點

Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO

2.任務1--在JSP中使用DAO和VO

Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO

DAO和Vo綜合應用執行個體

(1)建立shopsystem資料庫,建立customer資料表,并在表中資料。

Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO
Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO
Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO

(2)建立JavaBean: Customer.java

package beans;

public class Customer {
	private String c_name;
	private String c_pass;
	private String c_header;
	private String c_phone;
	private String c_question;
	private String c_answer;
	private String c_address;
	private String c_email;
	
	public String getC_name() {
		return c_name;
	}
	public void setC_name(String c_name) {
		this.c_name = c_name;
	}
	public String getC_pass() {
		return c_pass;
	}
	public void setC_pass(String c_pass) {
		this.c_pass = c_pass;
	}
	public String getC_header() {
		return c_header;
	}
	public void setC_header(String c_header) {
		this.c_header = c_header;
	}
	public String getC_phone() {
		return c_phone;
	}
	public void setC_phone(String c_phone) {
		this.c_phone = c_phone;
	}
	public String getC_question() {
		return c_question;
	}
	public void setC_question(String c_question) {
		this.c_question = c_question;
	}
	public String getC_answer() {
		return c_answer;
	}
	public void setC_answer(String c_answer) {
		this.c_answer = c_answer;
	}
	public String getC_address() {
		return c_address;
	}
	public void setC_address(String c_address) {
		this.c_address = c_address;
	}
	public String getC_email() {
		return c_email;
	}
	public void setC_email(String c_email) {
		this.c_email = c_email;
	}
	
}
           

(3) 編寫DAO類“CustomerDao.java”:實作Customer類的資料庫操作。

package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import beans.Customer;

public class CustomerDao {
	public ArrayList<Customer> queryAllCustomers(){
		//建立集合儲存查詢結果
		ArrayList<Customer> customers=new ArrayList<Customer>();
		try {
			//1.加載資料庫驅動程式
			Class.forName("com.mysql.jdbc.Driver");
			//2.通過DriverManager擷取資料庫連接配接
			String url="jdbc:mysql://localhost:3306/shopsystem";
			String userName="root";
			String passWord="root";
			Connection conn=DriverManager.getConnection(url,userName,passWord);
			//3.通過Connection對象擷取Statement對象
			Statement stmt=conn.createStatement();
			//4.使用Statement執行SQL語句
			String sql="select * from customer";
			ResultSet rs=stmt.executeQuery(sql);
			while(rs.next()) {
				//執行個體化VO:儲存結果存儲在目前記錄
				Customer customer=new Customer();
				customer.setC_name(rs.getString("c_name"));
				customer.setC_pass(rs.getString("c_pass"));
				customer.setC_header(rs.getString("c_header"));
				customer.setC_phone(rs.getString("c_phone"));
				customer.setC_question(rs.getString("c_question"));
				customer.setC_answer(rs.getString("c_answer"));
				customer.setC_address(rs.getString("c_address"));
				customer.setC_email(rs.getString("c_email"));
				customers.add(customer);//将目前customer添加到集合中
			}
			rs.close();
			stmt.close();
		}catch(Exception e) {
			e.printStackTrace();
		}
		return customers;
	}

}
           

(4)在JSP中使用DAO和VO。建立showCustomerjsp。

<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="beans.Customer" %>
<%@ page import="dao.CustomerDao" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>現實資料庫查詢使用者資訊</title>
</head>
<body>
	<% 
		CustomerDao cDao=new CustomerDao();
		ArrayList<Customer> customers=cDao.queryAllCustomers();
	%>
	<table >
		<tr>
			<th>姓名</th><th>密碼</th><th>頭像</th><th>電話号碼</th>
			<th>問題提示</th><th>問題答案</th><th>位址</th><th>郵箱</th>
		</tr>
		<%
			for(int i=0;i<customers.size();i++){
				Customer c=(Customer)customers.get(i);			
		%>
		<tr>
			<td><%=c.getC_name() %></td>
			<td><%=c.getC_pass() %></td>
			<td><%=c.getC_header() %></td>
			<td><%=c.getC_phone() %></td>
			<td><%=c.getC_question() %></td>
			<td><%=c.getC_answer() %></td>
			<td><%=c.getC_address() %></td>
			<td><%=c.getC_email() %></td>
		</tr>
		<%
			}
		%>
	</table>
</body>
</html>
           

(5)複制mysql資料庫jar包到項目的WEB-INF/lib目錄中,并釋出到類路徑。

Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO

(6)運作showCustomer.jsp,結果如下圖所示。

Java Web 程式設計 第11章 JSP和JavaBean 11.4 DAO和VO