11.4 DAO和VO
1.DAO和VO核心知识点
2.任务1--在JSP中使用DAO和VO
DAO和Vo综合应用实例
(1)创建shopsystem数据库,新建customer数据表,并在表中数据。
(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目录中,并发布到类路径。
(6)运行showCustomer.jsp,结果如下图所示。