Skip to content

Course model and DAO implementation #5

@aolguin89

Description

@aolguin89

User Story

As a developer
I want to implement the Course entity and DAO layer
So that the application can perform database operations on courses

Description

Implement Course POJO matching the database schema and create DAO layer for course-related database operations.

Tasks

Course Model (POJO)

  • Create Course.java in model/ package
  • Add all fields matching courses table schema
  • Implement constructors (empty + full)
  • Implement getters and setters
  • Override toString() for debugging
  • Add Javadoc documentation

Course DAO Interface

  • Create CourseDAO.java interface in dao/ package
  • Define method signatures for CRUD operations
  • Define findByProfessor() method
  • Define findByStudent() method (enrolled courses)
  • Add Javadoc documentation

Course DAO Implementation

  • Create CourseDAOImpl.java in dao/ package
  • Implement findById(int id)
  • Implement findAll() - all active courses
  • Implement findByProfessor(int professorId)
  • Implement findByStudent(int studentId) - courses user is enrolled in
  • Implement create(Course course)
  • Implement update(Course course)
  • Implement delete(int id)
  • Handle SQL exceptions properly
  • Close resources correctly

Testing

  • Test findAll() returns all active courses
  • Test findByProfessor() with existing professor
  • Test findByStudent() with enrolled student
  • Test findById() retrieves correct course

Acceptance Criteria

  • Course.java includes all fields from database schema
  • CourseDAO interface defines all required operations
  • CourseDAOImpl successfully performs queries
  • No SQL injection vulnerabilities (uses PreparedStatement)
  • Resources closed properly (try-with-resources)
  • All methods include error handling
  • Code includes comprehensive Javadoc

Metadata

Metadata

Assignees

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions