<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import java.sql.*;

/**
 * Clase encargada de establacer la conexion con la base de datos.
 *
 * @version 1.0
*/
public class Conexion {

   // Objeto que nos permitira guardar la conexion.
   private Connection conexion = null;

   // Acontinuacion definimos las credenciales que necesitamos para conectarnos.
   // ****************************************************
   // ******************** IMPORTANTE ********************
   // ***** Es necesario cambiar estos datos por los *****
   // *********** por los datos de sus equipos ***********
   // ****************************************************
   private final String usr = "tuUsuario";
   private final String pwd = "tuContrasena";
   private final String host = "localhost";
   private final int port = 3306;
   private final String db = "tuBaseDeDatos";
   // ****************************************************

   /**
    * Cuando se cree un objeto de tipo Conexion, se establecera la conexion
    * con el servidor de mysql y la base de datos deseada.
   */
   public Conexion() {

      if(conexion == null) {
         try {
            System.out.println("Conectando con la base de datos....");
            Class.forName("com.mysql.cj.jdbc.Driver");
            // jdbc:mysql://localhost:3306/ciencias
            String url = String.format("jdbc:mysql://%s:%d/%s", host, port, db);

            System.out.println("Validando credenciales...");
            conexion = DriverManager.getConnection(url, usr, pwd);

            System.out.println("Conexion exitosa!!");
            System.out.println("Estas conectado a: " + db);
         } catch (ClassNotFoundException cnfe) {
            System.out.println("Driver no encontrado.\n" + cnfe);
         } catch (SQLException sqle) {
            System.out.println("No se logro establecer la conexion.\n" + sqle);
         } catch (Exception e) {
            System.out.println("Error no reconocido.\n" + e);
         }
      }
   }

   /**
     * Regresa la conexion, si es que existe.
     * @return La conexion establecida previamente.
     */
   public Connection getConexion() {
      return conexion;
   }

   /**
    * Termina la conexion con el servidor.
    */
   public void desconectar() {
      if(conexion != null) {
         try {
            conexion.close();
            System.out.println("\nConexion terminada.");
         } catch (SQLException ex) {
            System.out.println("Error al terminar la conexion: sqlex");
         } catch (Exception e) {
            System.out.println("Error no reconocido.\n" + e);
         }
      }
   }
}

// Para compilar puedes usar alguna de estas instrucciones:
// javac -classpath mysql-connector-java-8.0.23.jar *.java
// javac *.java

// Para ejecutar puedes usar alguna de estas instrucciones:
// (EN WINDOWS, CAMBIA LOS 2 PUNTOS (:) POR UN PUNTO Y COMA (;))
// java -classpath mysql-connector-java-8.0.23.jar:. Ciencias
// java -cp mysql-connector-java-8.0.23.jar:. Ciencias
// java -cp mysql.jar:. Ciencias
// java -cp mysql.jar: Ciencias</pre></body></html>