考试系统的dao

原创 2005年05月03日 02:08:00

我用了dao ,vo  ,javabeans和JSP几个包,
dao包                               
StudentDAO  SqlDAOFactory  
TeacherDAO  SqlStudentDAO
CourseDAO   SqlTeacherDAO
ScoreDAO    SqlScoreDAO
AnswerDAO   SqlAnswerDAO
DAOFactory  SqlCourseDAO

dao包,我是用的我看的一本J2EE书上的,因为这个DAO用了设计模式,我看很好,也非常利用在不同的数据库间移植,我就采用了,比如说你用Oracle数据库,就可以写成如下的样子,

dao包 的好处就是这样了,
StudentDAO  OracleDAOFactory  
TeacherDAO  OracleStudentDAO
CourseDAO   OracleTeacherDAO
ScoreDAO    OracleScoreDAO
AnswerDAO   OracleAnswerDAO
DAOFactory  OracleCourseDAO

package dao;

import java.sql.SQLException;
import java.util.Collection;

import vo.AnswerVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public interface AnswerDAO {
 void addAnswer(AnswerVO answer) throws SQLException;
 AnswerVO findAnswer(String id) throws SQLException;
 void updateAnswer(AnswerVO answer) throws SQLException;
 void deleteAnswer(String id) throws SQLException;
    Collection selectAnswer(String condition) throws SQLException;
    void close();
}

package dao;

import java.sql.SQLException;
import java.util.Collection;

import vo.CourseVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public interface CourseDAO {
 void addCourse(CourseVO course) throws SQLException;
 CourseVO findCourse(String id) throws SQLException;
 void updateCourse(CourseVO course) throws SQLException;
 void deleteCourse(String id)throws SQLException;
    Collection selectCourse(String condition)throws SQLException;
    void close();

}
package dao;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public interface DAOFactory {
 StudentDAO createStudentDAO();
 TeacherDAO createTeacherDAO();
 AnswerDAO createAnswerDAO();
 ScoreDAO createScoreDAO();
 CourseDAO createCourseDAO();
 

}
/*
 * 创建日期 2005-4-20
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.SQLException;
import java.util.Collection;

import vo.ScoreVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public interface ScoreDAO {
 void addScore(ScoreVO score)throws SQLException;
 ScoreVO findScore(String studentId,String courseId)throws SQLException;
 void updateScore(ScoreVO score)throws SQLException;
 void deleteScore(ScoreVO score)throws SQLException;
    Collection selectScore(String condition)throws SQLException;
    void close();


}
/*
 * 创建日期 2005-4-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;

import vo.AnswerVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SqlAnswerDAO implements AnswerDAO {
 Connection conn;
 

 /**
  *
  */
 public SqlAnswerDAO() {
  super();
  conn=getConnection();
  // TODO 自动生成构造函数存根
 }
  Connection getConnection(){
  return SqlDAOFactory.createConnection();
  }
 
 /* (非 Javadoc)
  * @see dao.AnswerDAO#addAnswer(vo.AnswerVO)
  */
 public void addAnswer(AnswerVO answer) throws SQLException {
  // TODO 自动生成方法存根
  String optionId;
  if(answer.getOptionA()==null||answer.getOptionA().equals(""))
   optionId=null;
  else optionId=answer.getCourseId()+answer.getAnswerId();
  String str="insert into answer values(?,?,?,?,?)";
  PreparedStatement prep=conn.prepareStatement(str);
  prep.setString(1,answer.getAnswerId());
//  分别插入其他的属性,按数据库的表顺序
  prep.setString(2,answer.getAnswerTitle());
  prep.setString(3,optionId);
  prep.setString(4,answer.getScorevalue());
  prep.setString(5,answer.getAnswer());
  prep.setString(6,answer.getCourseId());
  prep.executeUpdate();
  if(optionId!=null){
    str="insert into option values(?,?,?,?,?)";
    prep=conn.prepareStatement(str);
    prep.setString(1,optionId);
    prep.setString(1,answer.getOptionA());
    prep.setString(1,answer.getOptionB());
    prep.setString(1,answer.getOptionC());
    prep.setString(1,answer.getOptionD());
    prep.executeUpdate();
   
  }
 }
 /* (非 Javadoc)
   * @see dao.AnswerDAO#updateAnswer(vo.AnswerVO)
   */
  public void updateAnswer(AnswerVO answer) throws SQLException {
   // TODO 自动生成方法存根
 //  按照数据库的顺序修改这个str
   String optionId;
   if(answer.getOptionA()==null||answer.getOptionA().equals(""))
    optionId=null;
   else optionId=answer.getCourseId()+answer.getAnswerId();
   String str="update answer set answerTitle="+answer.getAnswerTitle()+
   ",courseId="+answer.getCourseId()+" scoreValue="+answer.getScorevalue()
   +" answerValue="+answer.getAnswer()+"optionId="+optionId
   
   +" where answerId="+answer.getAnswerId();
   PreparedStatement prep=conn.prepareStatement(str);
   prep.executeUpdate();
   if(optionId!=null) {
     str="update option  set optionA='"+answer.getOptionA()
     +"'optionB='"+answer.getOptionB()+"'optionC='"+answer.getOptionC()
     +"' optionD='"+answer.getOptionD()+"'"
    
     +"where optionId="
     +optionId;
     prep=conn.prepareStatement(str);
     prep.executeUpdate();
   }
 
  }
 /* (非 Javadoc)
  * @see dao.AnswerDAO#deleteAnswer(java.lang.String)
  */
 public void deleteAnswer(String id) throws SQLException {
  // TODO 自动生成方法存根
  String str="select optionId from  answer where answerId="+id;
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  if(!rst.next()) throw new SQLException();
  String optionId= rst.getString("optionId");
  if(optionId==null||optionId.equals(""));
  else{
  str="delete from option where optionId="+optionId;
  prep=conn.prepareStatement(str);
  prep.executeUpdate();
  }
  str="delete from answer where answerId="+id;
  prep=conn.prepareStatement(str);
  prep.executeUpdate();

 }
 /* (非 Javadoc)
  * @see dao.AnswerDAO#findAnswer(java.lang.String)
  */
 public AnswerVO findAnswer(String id) throws SQLException {
  // TODO 自动生成方法存根
  String str="select * from answer where answerId="+id;
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  if(!rst.next()) throw new SQLException();
  AnswerVO avo =new AnswerVO();
  avo.setAnswerId(id);
  avo.setAnswerTitle(rst.getString("answerTitle"));
//  依次获取其他的一些属性
  String optionId=rst.getString("optionId");
  if(optionId==null||optionId.equals("")){
    avo.setOptionA(null);
    avo.setOptionB(null);
    avo.setOptionC(null);
    avo.setOptionD(null);
  }
  else{
   str="select * from option where optionId="+optionId;
   prep=conn.prepareStatement(str);
   rst=prep.executeQuery();
   if(!rst.next()) throw new SQLException();
   avo.setOptionA(rst.getString("optionA"));
   avo.setOptionB(rst.getString("optionB"));
   avo.setOptionC(rst.getString("optionC"));
   avo.setOptionD(rst.getString("optionD"));
  }
  
  return avo;
 }
 /* (非 Javadoc)
  * @see dao.AnswerDAO#selectAnswer(java.lang.String)
  */
 public Collection selectAnswer(String condition) throws SQLException {
  // TODO 自动生成方法存根
  String str =condition;
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst1=prep.executeQuery();
  ResultSet rst2;
  Collection c= new ArrayList();
  String optionId;
  while(rst1.next()){
   AnswerVO avo= new AnswerVO();
   avo.setAnswerId(rst1.getString("answerId"));
//   依次获取其他属性
   avo.setAnswerId(rst1.getString("answerTitle"));
   avo.setAnswerId(rst1.getString("scoreValue"));
   avo.setAnswerId(rst1.getString("answerValue"));
   avo.setAnswerId(rst1.getString("courseId"));
   optionId=rst1.getString("optionId");
   if(optionId!=null||optionId.equals("")){
     str="select * from option where optionId="+optionId;
     prep=conn.prepareStatement(str);
     rst2=prep.executeQuery();
     if(rst2.next()){
      avo.setOptionA(rst2.getString("optionA"));
      avo.setOptionB(rst2.getString("optionB"));
      avo.setOptionC(rst2.getString("optionC"));
      avo.setOptionD(rst2.getString("optionD"));
     }
     else {
      avo.setOptionA(null);
      avo.setOptionB(null);
      avo.setOptionC(null);
      avo.setOptionD(null);
     }
    
   }
   c.add(avo);
  }
 
  return c;
 }
  public void close(){
  
   try {
    conn.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
   
   }
  
 }
 
}
/*
 * 创建日期 2005-4-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;

import vo.CourseVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SqlCourseDAO implements CourseDAO {
 Connection conn;
 
  
 /**
  *
  */
 public SqlCourseDAO() {
  super();
  conn=getConnection();
  // TODO 自动生成构造函数存根
 }
  Connection getConnection(){
  return SqlDAOFactory.createConnection();
  }
 
 /* (非 Javadoc)
  * @see dao.CourseDAO#addCourse(vo.CourseVO)
  */
 public void addCourse(CourseVO course) throws SQLException {
  // TODO 自动生成方法存根
 
 }
 /* (非 Javadoc)
  * @see dao.CourseDAO#deleteCourse(java.lang.String)
  */
 public void deleteCourse(String id) {
  // TODO 自动生成方法存根

 }
 /* (非 Javadoc)
  * @see dao.CourseDAO#updateCourse(vo.CourseVO)
  */
 public void updateCourse(CourseVO course) throws SQLException {
  // TODO 自动生成方法存根
 
 }
 /* (非 Javadoc)
  * @see dao.CourseDAO#findCourse(java.lang.String)
  */
 public CourseVO findCourse(String id) throws SQLException {
  // TODO 自动生成方法存根
  return null;
 }
 /* (非 Javadoc)
  * @see dao.CourseDAO#selectCourse(java.lang.String)
  */
 public Collection selectCourse(String condition) {
  // TODO 自动生成方法存根
  return null;
 }
 public void close(){
  
   try {
    conn.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  
 }
}

/*
 * 创建日期 2005-4-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SqlDAOFactory implements DAOFactory {
 
 /**
  *
  */
 public SqlDAOFactory() {
  super();
  // TODO 自动生成构造函数存根
 }
  public static Connection createConnection(){
   Connection conn=null;
  try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   conn=DriverManager.getConnection("jdbc:odbc:nihao");
 
 
  }catch(ClassNotFoundException e){
   
  }
  catch(SQLException e){
   
  }
  finally{
  try {
   conn.close();
  } catch (SQLException e1) {
   // TODO 自动生成 catch 块
   
  } 
  }

  
   return conn;
 }
 
 /* (非 Javadoc)
  * @see dao.DAOFactory#createAnswerDAO()
  */
 public AnswerDAO createAnswerDAO() {
  // TODO 自动生成方法存根
  return new SqlAnswerDAO();
 }
 /* (非 Javadoc)
  * @see dao.DAOFactory#createScoreDAO()
  */
 public ScoreDAO createScoreDAO() {
  // TODO 自动生成方法存根
  return new SqlScoreDAO();
 }
 /* (非 Javadoc)
  * @see dao.DAOFactory#createStudentDAO()
  */
 public StudentDAO createStudentDAO() {
  
   // TODO 自动生成方法存根
   return new SqlStudentDAO();
  
 }
 /* (非 Javadoc)
  * @see dao.DAOFactory#createTeacherDAO()
  */
 public TeacherDAO createTeacherDAO() {
  // TODO 自动生成方法存根
  return new SqlTeacherDAO();
 }
 /**
  * @return
  */
 public CourseDAO createCourseDAO() {
  // TODO 自动生成方法存根
  return new SqlCourseDAO();
 }

}
/*
 * 创建日期 2005-4-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;

import vo.ScoreVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SqlScoreDAO implements ScoreDAO {
 Connection conn;
 

 /**
  *
  */
 public SqlScoreDAO() {
  super();
  conn=getConnection();
  // TODO 自动生成构造函数存根
 }
     Connection getConnection(){
  return  SqlDAOFactory.createConnection();
  }
 /* (非 Javadoc)
  * @see dao.ScoreDAO#addScore(vo.ScoreVO)
  */
 public void addScore(ScoreVO score) throws SQLException {
  // TODO 自动生成方法存根
  String str="insert into studentcourse values(?,?,?)";
  PreparedStatement prep=conn.prepareStatement(str);
  prep.setString(1,score.getStudentId());
  prep.setString(2,score.getCourseId());
  prep.setString(3,score.getScore());
 
//  这里注意要和数据库的顺序一致
  prep.executeUpdate();
 
 }
 /* (非 Javadoc)
  * @see dao.ScoreDAO#deleteScore(java.lang.String)
  */
 public void deleteScore(ScoreVO score) throws SQLException {
  // TODO 自动生成方法存根
  String str="delete from studentcourse where studentId="+score.getStudentId()
  +"and courseId="+score.getCourseId();
  PreparedStatement prep=conn.prepareStatement(str);
  prep.executeUpdate();

 }
 /* (非 Javadoc)
  * @see dao.ScoreDAO#updateScore(vo.ScoreVO)
  */
 public void updateScore(ScoreVO score) throws SQLException {
  // TODO 自动生成方法存根
  String str="update studentcourse set score="+score.getScore()+"where studentId="
  +score.getStudentId()+"and courseId="+score.getCourseId();
  PreparedStatement prep=conn.prepareStatement(str);
  prep.executeUpdate();
 
 }
 /* (非 Javadoc)
  * @see dao.ScoreDAO#findScore(java.lang.String)
  */
 public ScoreVO findScore(String studentId,String courseId) throws SQLException {
  // TODO 自动生成方法存根
  String str="select *from studentcourse where studentId="+studentId+
  "and courseId="+courseId;
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  if(!rst.next()) throw new SQLException();
  ScoreVO score =new ScoreVO();
  score.setStudentId(studentId);
  score.setCourseId(courseId);
//  这里还有其他的类似的调用
  score.setScore(rst.getString("score"));
  return score;
  
 }
 /* (非 Javadoc)
  * @see dao.ScoreDAO#selectScore(java.lang.String)
  */
 public Collection selectScore(String condition) throws SQLException {
  // TODO 自动生成方法存根
  String str=condition;
  Collection c=new ArrayList();
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  while(rst.next()){
   ScoreVO svo= new ScoreVO();
   svo.setStudentId(rst.getString("studentId"));
   svo.setCourseId(rst.getString("courseId"));
   svo.setScore(rst.getString("score"));
//   用类似的方法获取其他的属性
  c.add(svo); 
  }
  return c;
  
 }
 public void close(){
  
   try {
    conn.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  
 }
 /* (非 Javadoc)
  * @see dao.ScoreDAO#findScore(java.lang.String)
  */
 
}
/*
 * 创建日期 2005-4-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;

import vo.StudentVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SqlStudentDAO implements StudentDAO {
 Connection conn;

 /**
  * @throws SQLException TODO
  *
  */
 public SqlStudentDAO(){
  super();
  conn=getConnection();
  // TODO 自动生成构造函数存根
 }
  Connection getConnection(){
  return SqlDAOFactory.createConnection();
  }
 
 
 /* (非 Javadoc)
  * @see dao.StudentDAO#addStudent(vo.StudentVO)
  */
 public void addStudent(StudentVO student)  throws SQLException{
  // TODO 自动生成方法存根
  String str="insert into student values(?,?,?,?,?)";
  PreparedStatement prep=conn.prepareStatement(str);
  prep.setString(1,student.getStudentId());
  prep.setString(2,student.getStudentName());
  prep.setString(3,student.getPassword());
  prep.setString(4,student.getClassName());
  prep.setString(5,student.getDepth());
  
//  这里注意要和数据库的顺序一致
  prep.executeUpdate();
 
 }
 /* (非 Javadoc)
  * @see dao.StudentDAO#deleteStudent(java.lang.String)
  */
 public void deleteStudent(String id) throws SQLException {
  
  // TODO 自动生成方法存根
//这个方法在这里不在实现了
 }
 /* (非 Javadoc)
  * @see dao.StudentDAO#findStudent(java.lang.String)
  */
 public StudentVO findStudent(String id) throws SQLException {
  // TODO 自动生成方法存根
  String str="select *from student where studentId="+id;
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  if(!rst.next()) throw new SQLException();
  StudentVO student =new StudentVO();
  student.setStudentId(id);
  student.setStudentName(rst.getString("studentName"));
//  这里还有其他的类似的调用

  student.setPassword(rst.getString("password"));
  student.setClassName(rst.getString("className"));
  student.setDepth(rst.getString("depth"));
  
  return student;
 }
 /* (非 Javadoc)
  * @see dao.StudentDAO#selectStudent(java.lang.String)
  */
 public Collection selectStudent(String condition) throws SQLException {
  // TODO 自动生成方法存根
  String str=condition;
  Collection c=new ArrayList();
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  while(rst.next()){
   StudentVO svo= new StudentVO();
   svo.setStudentId(rst.getString("studentId"));
//   用类似的方法获取其他的属性
   svo.setStudentName(rst.getString("studentName"));
   svo.setPassword(rst.getString("password"));
   svo.setClassName(rst.getString("className"));
   svo.setDepth(rst.getString("depth"));
 
  c.add(svo); 
  }
  return c;
 }
 public void close(){
  
   try {
    conn.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  
 }
 /* (非 Javadoc)
  * @see dao.StudentDAO#updateStudent(vo.StudentVO)
  */
 public void updateStudent(StudentVO student) throws SQLException {
  // TODO 自动生成方法存根
  String str="update student set password="+student.getPassword()+"where " +
    "studentId="+student.getStudentId();
  PreparedStatement prep=conn.prepareStatement(str);
  prep.executeUpdate();
  

 }
}
/*
 * 创建日期 2005-4-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Collection;

import vo.TeacherVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class SqlTeacherDAO implements TeacherDAO {
 Connection conn;
 

 /**
  *
  */
 public SqlTeacherDAO() {
  super();
  conn=getConnection();
  // TODO 自动生成构造函数存根
 }
  Connection getConnection(){
  return SqlDAOFactory.createConnection();
  }
 
 /* (非 Javadoc)
  * @see dao.TeacherDAO#addTeacher(vo.TeacherVO)
  */
 public void addTeacher(TeacherVO teacher) throws SQLException {
  // TODO 自动生成方法存根
  String str="insert into teacher values(?,?,?)";
  PreparedStatement prep=conn.prepareStatement(str);
  prep.setString(1,teacher.getTeacherId());
  prep.setString(2,teacher.getTeacherName());
  prep.setString(3,teacher.getPassword());
//  这里注意要和数据库的顺序一致
  prep.executeUpdate();
 
 }
 /* (非 Javadoc)
  * @see dao.TeacherDAO#deleteTeacher(java.lang.String)
  */
 public void deleteTeacher(String id) throws SQLException {
  // TODO 自动生成方法存根

 }
 /* (非 Javadoc)
  * @see dao.TeacherDAO#updateTeacher(vo.TeacherVO)
  */
 public void updateTeacher(TeacherVO teacher) throws SQLException {
  
  // TODO 自动生成方法存根
  String str="update teacher set password="+teacher.getPassword()+"where " +
  "teacherId="+teacher.getTeacherId();
     PreparedStatement prep=conn.prepareStatement(str);
      prep.executeUpdate();
 
 
 }
 /* (非 Javadoc)
  * @see dao.TeacherDAO#findTeacher(java.lang.String)
  */
 public TeacherVO findTeacher(String id)  throws SQLException{
  // TODO 自动生成方法存根
  String str="select * from teacher where teacherId="+id;
  PreparedStatement prep=conn.prepareStatement(str);
  ResultSet rst=prep.executeQuery();
  if(!rst.next()) throw new SQLException();
  TeacherVO teacher =new TeacherVO();
  teacher.setTeacherId(id);
  teacher.setTeacherName(rst.getString("teacherName"));
//  这里还有其他的类似的调用
  teacher.setPassword(rst.getString("password"));
  return teacher;
  
 }
 /* (非 Javadoc)
  * @see dao.TeacherDAO#selectTeacher(java.lang.String)
  */
 public Collection selectTeacher(String condition) throws SQLException {
  // TODO 自动生成方法存根
  return null;
 }
 public void close(){
  
   try {
    conn.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  
 }
}
/*
 * 创建日期 2005-4-20
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.SQLException;
import java.util.Collection;

import vo.StudentVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public interface StudentDAO {
 void addStudent(StudentVO student)throws SQLException;
 StudentVO findStudent(String id)throws SQLException;
 void updateStudent(StudentVO student)throws SQLException;
 void deleteStudent(String id)throws SQLException;
    Collection selectStudent(String condition)throws SQLException;
 /**
  *
  */
 void close();
 /**
  *
  */
}
/*
 * 创建日期 2005-4-20
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package dao;

import java.sql.SQLException;
import java.util.Collection;

import vo.TeacherVO;

/**
 * @author Administrator
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public interface TeacherDAO {
 void addTeacher(TeacherVO teacher)throws SQLException;
 TeacherVO findTeacher(String id)throws SQLException;
 void updateTeacher(TeacherVO teacher)throws SQLException;
 void deleteTeacher(String id)throws SQLException;
    Collection selectTeacher(String condition)throws SQLException;
    void close();

}



DAO模式的例子

Common JDBC DAO组件系统库及帮助手册

  • 2013年05月21日 10:09
  • 2.08MB
  • 下载

4.28 使用Maven搭建SSM项目(一)--秒杀系统api之DAO层

之前记录了自己第一次手动搭建SSM框架的过程,在写的过程中都是想到什么记的什么,思路比较混乱,项目的结构也不严谨。 今天通过学习一个SSM小项目来学习使用Maven搭建。 项目为慕课网上 搞定Ja...

【基于SSH框架的个人博客系统04】DAO层,Service层与Action层

DAO层-数据的增删改查 J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码。DAO层的每个类都依赖于Sessio...

用DAO实现的用户登录系统

  • 2009年09月18日 20:56
  • 12KB
  • 下载

MVC+DAO实现留言系统

  • 2016年09月01日 23:24
  • 52.45MB
  • 下载

OA系统Dao层抽取方法总结

在做OA系统的过程中,涉及到Dao层的抽取,下边对其作如下总结: 1、  第一步:最初设计为:为每一个实体都设计出一个Dao层的接口,同时有一个实现类实现该接口。结构如下:     这种设...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:考试系统的dao
举报原因:
原因补充:

(最多只允许输入30个字)