天天看点

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