java

Compilar java y MySQL sin NetBeans ni otros IDE’s

Introducción

En este post explicaré cómo conectar Java y MySQL sin utilizar ningún IDE. Es decir, lo único que necesitamos es el compilador de Java (javac), el “ejecutador” de archivos de java (java), un editor de texto plano como Sublime Text, una consola y el conector que será un archivo.jar.

Si quieres, puedes ver este post para ver cómo instalar java.

Sólo explicaré la conexión, y escribiré otro post de un CRUD para complementar a éste; pero no podemos crearlo si no sabemos conectar.

Descargando driver

El conector es traído a nosotros por MySQL. Lo podemos descargar de su página oficial aquí. Prefiero descargar la versión comprimida en un zip. En el momento de escribir esto, la versión es 5.1.45 pero igual puede cambiar.

Por favor evita descargar las “development releases”.

Cuando hagamos click en el botón, nos pedirá una cuenta para descargarlo. Esto me recuerda a cuando descargabas un archivo en una página en donde el verdadero botón de descarga estaba oculto, y los que te llenaban de publicidad estaban grandes y coloridos.

En fin, hasta abajo dice “No gracias, sólo inicia mi descarga” o algo así. Hacemos click en ese enlace.

Y lo guardamos en donde deseemos. En mi caso hice una nueva carpeta y lo extraje ahí.

Una vez extraído, lo único que nos importa es el archivo .jar, así que procederemos a eliminar todo lo demás y quedarnos únicamente con este fichero. Por lo que la carpeta en donde estaremos trabajando debe verse algo así:

Recomiendo renombrar este archivo a un nombre fácil de recordar. El nombre no afecta al comportamiento, por lo que en este caso le pondré simplemente “mysql” así:

Y con eso hemos terminado la descarga. En la misma carpeta en donde dejamos el archivo vamos a crear otros archivos para comenzar a programar.

Conexión MySQL

Hay muchas maneras de instalar MySQL. Yo instalo la versión que viene con XAMPP. Algunas personas lo instalan separado, el punto es que esto siempre cambia.

Antes de probar este código, verifica si te puedes conectar a MySQL. Normalmente el ejecutable puede estar en “C:\Program Files\MySQL\MySQL Server 5.7\bin\” o si lo instalaste con XAMPP está en “C:\xampp\mysql\bin”.

Para probar, navegamos desde una terminal hasta la carpeta y ejecutamos el archivo mysql.exe con nuestro usuario y contraseña. Repito de nuevo, el usuario y la contraseña son configuraciones nuestras, nosotros debemos saberlas.

Por razones que no importan, tengo mysql en la ruta que se ve. Como se puede ver, navegué hasta ahí (línea rosa) y ejecuté el comando (línea azul), en este caso mi usuario es root. Si tu usuario es otro, usa ese. En la línea verde pide la contraseña, si tu usuario la tiene, ponla.

Una vez que hayamos entrado, creamos la base de datos como se ve en la línea roja. Y listo.

En caso de que no haya salido ningún error, puedes continuar.

Probando conector o driver

Si ya probaste que MySQL funciona normalmente, puedes continuar.

Código java

Crearemos un nuevo archivo java y dentro de él colocaremos lo siguiente:

import java.sql.*;

class Prueba {

    public static void main(String[] args) {
        try {
            System.out.println("Verificando si has incluido correctamente el conector...");
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Conector incluido correctamente");
        } catch (ClassNotFoundException e) {
            throw new IllegalStateException("No has incluido el archivo, o escribiste mal su nombre. Error: ", e);
        }

        String host = "localhost";
        int puerto = 3306;
        String nombreBaseDeDatos = "java";

        String url = "jdbc:mysql://" + host + ":" + String.valueOf(puerto) + "/" + nombreBaseDeDatos;

        String usuario = "root";
        String palabraSecreta = ""; //La contraseña

        System.out.println("Conectando a la base de datos " + nombreBaseDeDatos);

        try (Connection conexion = DriverManager.getConnection(url, usuario, palabraSecreta)) {
            System.out.println("Conectado correctamente a " + url);
        } catch (SQLException e) {
            throw new IllegalStateException("Imposible conectar a la base de datos: ", e);
        }
    }
}

Explicando el código, primero utilizamos el método forName. Ese método busca si hay una clase cargada con ese nombre; es decir, verifica si hemos incluido la librería correctamente. Si no, lanza una excepción.

Más abajo nos conectamos a la base de datos. Puse el host, puerto y nombre por separado, para que sea fácil cambiarlos. También coloqué en otro lado el usuario y la contraseña. Para compilar este archivo simplemente llamamos a javac Prueba.java así:

Ejecutando código

Ahora viene la parte “difícil” y es ejecutar el archivo. Recordemos que necesitamos el conector, ¿y cómo le decimos a Java que lo use? muy fácil, ejecutamos y pasamos como argumento el classpath, que es el lugar en donde está nuestro conector.

Como se puede ver, yo lo descargué en D:\desarrollo\java\java_mysql y se llama mysql.jar. Una vez compilado con javac, ejecutamos con java de esta forma:

En la línea verde compilamos, es lo que hice hace unos momentos. Y luego ejecutamos el archivo, llamando a java. Le pasamos la opción classpath con cp,  y le indicamos en dónde está el .jar que queremos que incluya.

Es importante notar el ;, que funciona como separador. Primero le pasamos un . el cual es el directorio actual, para que encuentre “Prueba” y luego, separado con un ; le pasamos la ruta del conector. Si tenemos el conector en la misma carpeta, podríamos simplificarlo a:

java -cp .;./mysql.jar Prueba

Luego, separado con un espacio, ponemos el nombre del archivo que previamente compilamos.

Recordemos que para compilar utilizamos archivo.java, pero para ejecutar sólo archivo. Es decir, no necesitamos extensión al ejecutar. Eso sí, debemos haber compilado antes.

Aquí dejo una captura de la carpeta en donde tengo todo esto, por si sirve de algo:

El archivo Prueba.class es el archivo compilado. Y bueno, al final de todo pudimos ver que sí se pudo conectar.

Errores comunes

Si yo cambiara el puerto, saldría esto:

Y si, por ejemplo, no existiera el archivo .jar que tiene el conector, pasaría esto:

En fin, recuerda seguir todo al pie de la letra. Si lo haces bien, no tendrás problemas.

Conclusión

Conectar Java con MySQL es muy fácil, pero debemos saber que son conceptos diferentes. Es decir, Java sirve para muchas cosas, no sólo para conectar a bases de datos. Y MySQL puede ser consumido por muchos otros lenguajes de programación.

Lo que estamos haciendo aquí es combinar ambas cosas para obtener un resultado. Espero poder traer muy pronto un ejemplo de cómo crear, leer, actualizar y eliminar registros con Java.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Me ayudó mucho tu artículo. No logro comprender por qué no me reconocía el driver si ya tengo definida mi variable classpath. La solución fue el parámetro -cp a java.exe. Gracias.

Entradas recientes

Imprimir ñ en impresora térmica

En este post te enseñaré a imprimir la letra ñ en una impresora térmica. Voy…

2 días hace

Tramitar acta de nacimiento en línea de manera instantánea

En este post te quiero compartir mi experiencia tramitando un acta de nacimiento de México…

3 días hace

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

3 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

3 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

3 semanas hace

Esta web usa cookies.