接着上一篇,环境配置好以后,就要开始开发了,在使用servlet+jsp开发的项目时候,必然会操涉及到操作数据库,这篇文章我就总结一下这些内容。
注:在开始写代码之前,我们必须要准备jar包,连接池工具,连接池配置文件,新建五个包,分别是bean,servlet,service,dao,还有你的连接池工具包
查询操作
bean:创建实体类对象,所有的字段和数据类型都必须和数据库里一一对应,
package com.yf.bean;
public class Student {
private String student_id;
private String student_num;
private String password;
private String student_name;
private int student_sex;
private String phone;
private String address;
private String id_card;
private String faculty;
private String pricture_url;
private String major;
private String class_;
private int age;
private String class_table;
public String getClass_table() {
return class_table;
}
public void setClass_table(String class_table) {
this.class_table = class_table;
}
public String getStudent_id() {
return student_id;
}
public void setStudent_id(String student_id) {
this.student_id = student_id;
}
public String getStudent_num() {
return student_num;
}
public void setStudent_num(String student_num) {
this.student_num = student_num;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getStudent_name() {
return student_name;
}
public void setStudent_name(String student_name) {
this.student_name = student_name;
}
public int getStudent_sex() {
return student_sex;
}
public void setStudent_sex(int student_sex) {
this.student_sex = student_sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getId_card() {
return id_card;
}
public void setId_card(String id_card) {
this.id_card = id_card;
}
public String getFaculty() {
return faculty;
}
public void setFaculty(String faculty) {
this.faculty = faculty;
}
public String getPricture_url() {
return pricture_url;
}
public void setPricture_url(String pricture_url) {
this.pricture_url = pricture_url;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getClass_() {
return class_;
}
public void setClass_(String class_) {
this.class_ = class_;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
servlet:获取前台发回来的数据,将数据传递到service层中进行操作
/**
* 查询操作
* @param request
* @param response
* @throws ServletException
* @throws IOException
*/
private void Select(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
//创建StudentService
StudentService ss = new StudentService();
//调用方法
List<Student> list = ss.findAll();
//把list集合放入request域对象中
request.setAttribute("list", list);
//请求转发到list.jsp
request.getRequestDispatcher("/studentlist.jsp").forward(request, response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
request.setAttribute("msg", "查询学生出现错误");
request.getRequestDispatcher("/error.jsp").forward(request, response);
}
}
service:对servlet传入的数据再次处理,查询中没有处理操作,所以直接把数据传到dao中
/**
* 查询
* @return
* @throws SQLException
*/
public List<Student> findAll() throws SQLException {
// TODO Auto-generated method stub
StudentDao sd = new StudentDao();
return sd.findAll();
}
dao:这一层主要对数据库进行操作,将数据保存到数据库
/**
* 查询
* @retur