public List<Student> findByBirthDate(java.util.Date birthDate) throws Exception { List<Student> students = new LinkedList<Student>(); Connection connection = this.dataSource.getConnection(); String query = "select * from students left join exams on student_code = code where birthdate=? order by code"; PreparedStatement statement = connection.prepareStatement(query); statement.setDate(1, new java.sql.Date(birthDate.getTime())); ResultSet result = statement.executeQuery(); Student prevStudent = null; while (result.next()) { if (prevStudent == null || result.getInt("code") != prevStudent.getCode()) { long secs; Student student = new Student(); student.setCode(result.getInt("code")); student.setFirstName(result.getString("firstname")); student.setLastName(result.getString("lastname")); secs = result.getDate("birthdate").getTime(); birthDate = new java.util.Date(secs); student.setBirthDate(birthDate); prevStudent = student; students.add(student); } if (result.getString("course") != null) { Exam e = new Exam(); e.setCourse(result.getString("course")); e.setDate(new java.util.Date(result.getDate("date").getTime())); e.setScore(result.getInt("code")); prevStudent.addExam(e); } } // release resources result.close(); statement.close(); connection.close(); return students; }
public Student findByPrimaryKey(int code) throws Exception { Connection connection = this.dataSource.getConnection(); String query = "select * from students where code=?"; PreparedStatement statement = connection.prepareStatement(query); statement.setInt(1, code); ResultSet result = statement.executeQuery(); Student student = null; if (result.next()) { if (student == null) { long secs; java.util.Date birthDate; student = new Student(); student.setCode(result.getInt("code")); student.setFirstName(result.getString("firstname")); student.setLastName(result.getString("lastname")); secs = result.getDate("birthdate").getTime(); birthDate = new java.util.Date(secs); student.setBirthDate(birthDate); } if (result.getString("course") != null) { Exam e = new Exam(); e.setCourse(result.getString("course")); e.setDate(new java.util.Date(result.getDate("date").getTime())); e.setScore(result.getInt("score")); student.addExam(e); } } // release resources result.close(); statement.close(); connection.close(); return student; }