Class MySqlDroneRepository
java.lang.Object
co.edu.poli.sw2Hexagonal.infraestructura.persistencia.MySqlDroneRepository
- All Implemented Interfaces:
DroneRepository
Adaptador de salida — implementa
DroneRepository sobre MySQL (JDBC).
Utiliza la conexión administrada por ConexionBD y trabaja sobre la
tabla drone, con las columnas id, serial,
modelo, fabricante, peso y tipo.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classImplementación concreta y mínima deDroneusada al leer desde la base de datos. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConnectionConexión JDBC compartida obtenida deConexionBD. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactualizar(Drone drone) Actualiza los datos de un dron existente.buscarPorId(String id) Busca un dron por su identificador.Retorna todos los drones registrados.private DronevoidElimina el dron con el identificador dado.voidPersiste un nuevo dron.
-
Field Details
-
conexion
Conexión JDBC compartida obtenida deConexionBD.
-
-
Constructor Details
-
MySqlDroneRepository
public MySqlDroneRepository()Crea el repositorio usando la conexión única deConexionBD.
-
-
Method Details
-
guardar
Persiste un nuevo dron.- Specified by:
guardarin interfaceDroneRepository- Parameters:
drone- dron a guardar (concreto: de agricultura o vigilancia)- Throws:
SQLException- si falla la inserción en la tabladrone
-
buscarPorId
Busca un dron por su identificador.- Specified by:
buscarPorIdin interfaceDroneRepository- Parameters:
id- identificador del dron- Returns:
- dron encontrado, o
nullsi no existe - Throws:
SQLException- si falla la consulta
-
buscarTodos
Retorna todos los drones registrados.- Specified by:
buscarTodosin interfaceDroneRepository- Returns:
- lista de drones, vacía si no hay registros
- Throws:
SQLException- si falla la consulta
-
actualizar
Actualiza los datos de un dron existente.- Specified by:
actualizarin interfaceDroneRepository- Parameters:
drone- dron con los datos actualizados- Throws:
SQLException- si falla la actualización o no existe un dron con el id indicado
-
eliminar
Elimina el dron con el identificador dado.- Specified by:
eliminarin interfaceDroneRepository- Parameters:
id- identificador del dron a eliminar- Throws:
SQLException- si falla la eliminación o no existe un dron con el id indicado
-
convertirDrone
Construye unDronea partir de la fila actual delResultSet. ComoDronees abstracta, se usaMySqlDroneRepository.DroneBase, que conserva el tipo guardado en la tabla. Cuando se usen las subclases concretas, conviene reemplazarlo por unswitchsobre el tipo ("AGRICULTURA" / "VIGILANCIA") que cree la subclase correspondiente.- Parameters:
rs- resultado posicionado en la fila a convertir- Returns:
- dron con los datos de la fila
- Throws:
SQLException- si falla la lectura de alguna columna
-