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”.
