java.lang.Object
co.edu.poli.sw2Hexagonal.infraestructura.persistencia.ConexionBD

public class ConexionBD extends Object
Gestiona la conexión a la base de datos MySQL mediante el patrón Singleton.

Los parámetros de conexión se leen desde un archivo .env ubicado en la raíz del proyecto. Si el archivo no existe o falta alguna variable, se usan valores por defecto pensados para un entorno de desarrollo local:

  • DB_URL: jdbc:mysql://localhost:3306/drones?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
  • DB_USER: root
  • DB_PASSWORD: cadena vacía

Esta clase pertenece a la capa de infraestructura y es utilizada por el adaptador de salida MySqlDroneRepository.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Connection
    Conexión JDBC activa; puede ser null si la conexión falló.
    private static ConexionBD
    Única instancia de la clase (Singleton).
    private final String
    Contraseña del usuario de la base de datos.
    private final String
    URL JDBC de la base de datos.
    private final String
    Usuario de la base de datos.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Constructor privado.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Cierra la conexión con la base de datos, si está abierta.
    private void
    Abre la conexión JDBC con los parámetros configurados.
    Retorna la conexión JDBC activa.
    static ConexionBD
    Retorna la única instancia de ConexionBD, creándola (y abriendo la conexión) la primera vez que se invoca.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • instancia

      private static ConexionBD instancia
      Única instancia de la clase (Singleton).
    • conexion

      private Connection conexion
      Conexión JDBC activa; puede ser null si la conexión falló.
    • url

      private final String url
      URL JDBC de la base de datos.
    • usuario

      private final String usuario
      Usuario de la base de datos.
    • password

      private final String password
      Contraseña del usuario de la base de datos.
  • Constructor Details

    • ConexionBD

      private ConexionBD()
      Constructor privado. Lee la configuración del archivo .env (si existe) y establece la conexión con la base de datos.
  • Method Details

    • getInstancia

      public static ConexionBD getInstancia()
      Retorna la única instancia de ConexionBD, creándola (y abriendo la conexión) la primera vez que se invoca.
      Returns:
      instancia única de la clase
    • conectar

      private void conectar()
      Abre la conexión JDBC con los parámetros configurados. Si ocurre un error, lo informa por consola y deja la conexión en null.
    • getConexion

      public Connection getConexion()
      Retorna la conexión JDBC activa.
      Returns:
      la conexión a la base de datos, o null si no fue posible establecerla
    • cerrarConexion

      public void cerrarConexion()
      Cierra la conexión con la base de datos, si está abierta. Los errores al cerrar se informan por consola.