Antes de implementar un DAO, necesitas un buen modelo de clases. Aprende lo esencial de OOP: clases, objetos, atributos, métodos, encapsulación y constructores.
Introducción a OOP: clases y objetos antes del DAO

En un proyecto con DAO, el objetivo final es trabajar con objetos (por ejemplo Bird) y no con filas/columnas. Por eso, antes de la capa DAO conviene tener claros los fundamentos de OOP.

1) Clase vs objeto

  • Clase: plantilla (define atributos y métodos).
  • Objeto: instancia concreta creada a partir de la clase.

2) Atributos, constructor y métodos

public class Bird {
  private int id;
  private String name;

  public Bird(int id, String name) {
    this.id = id;
    this.name = name;
  }

  public int getId() { return id; }
  public String getName() { return name; }
  public void setName(String name) { this.name = name; }
}

3) Encapsulación

Usar private en atributos y exponer getters/setters evita que el resto de la app deje el objeto en estados inválidos.

4) Cómo ayuda esto al DAO

Un DAO “bien” debería:

  • Recibir objetos (o datos) y devolver objetos.
  • Convertir filas de BD a instancias del modelo.
  • No filtrar lógica de dominio a SQL (mantener separación).

5) Próximo paso

Una vez tienes el modelo, implementas el DAO y el mapeo. Ahí es donde JDBC se vuelve “manejable”.