Panama Hitek Logo
Panama Hitek Logo

Comunicar Java con base de datos MySQL

Comunicar Java con MySQL es una de las principales dudas que los principiantes en Java solemos tener. El siguiente post pretende ser una guía para aquellos que desean comunicar sus aplicaciones en Java con bases de datos en MySQL alojadas localmente. Se muestra, al final del post, como hacer una consulta e imprimir los registros de la base de datos en la consola de Java.

En aportes anteriores he mostrado como crear una base de datos en MySQL con XAMPP. De hecho, aquí les traigo el video que hice en aquella ocasión:

Ahora me gustaría mostrarles como «conectar» un programa en Java con una base de datos en MySQL. Para ello voy a crear una base de datos en mi máquina utilizando PHPMyAdmin que está disponible en XAMPP. La llamaré PanamaHitek_Text.

MySQL_Java

 

Dentro voy a colocar una tabla llamada Registro con 3 columnas.

MySQL_Java

 

MySQL_Java

 

Ahora voy a introducir un par de registros a la base de datos con mi información y la de mi perro.

MySQL_Java

 

MySQL_Java

Ahora vamos a crear la aplicación en Java. Vamos a necesitar el driver JDBC que es el que nos permite hacer la conexión con una base de datos MySQL. El driver lo podemos descargar del siguiente enlace:

MySQL Driver JDBC

Crearemos un proyecto llamado MySQL_Test. Dentro agregaremos una clase llamada MySQL.

MySQL_Java

Dentro de la clase MySQL vamos a colocar la siguiente programación.

 

Esta clase se encarga de iniciar la conexión con la base de datos. Es importante establecer el servidor, nombre de la base de datos, nombre de usuario y contraseña.

En el caso de las bases de datos locales, el servidor es localhost y el puerto 3306. En bases de datos remotas se utiliza la IP del servidor donde se encuentra alojada la base de datos.

Ahora vamos a probar la conexión.Se debe haber agregado el driver JDBC. En el método principal de la clase MySQL_test se coloca el siguiente código:

 

Al ejecutar el programa, se obtiene el siguiente resultado.

MySQL_Java

Debemos tener en cuenta que para que esto funcione, debemos tener XAMPP corriendo e iniciar los servidores Apache y MySQL.

MySQL_Java

 

Vamos a llevar a cabo una consulta para introducirnos un poco más en lo que es la programación con MySQL.

Vamos a hacer una lectura sobre los registros de la base de datos, que son 2 (mi información y la de Golden).

Vamos a modificar el método Main de la clase MySQL_Test. Colocamos lo siguiente:

 

El resultado obtenido debe ser el siguiente.

MySQL_Java

 

 

Espero que la información suministrada sea de utilidad para ustedes. Saludos.

Antony García González
Antony García González
Ingeniero Electromecánico, egresado de la Universidad Tecnológica de Panamá. Miembro fundador de Panama Hitek. Entusiasta de la electrónica y la programación.

Posts relacionados

11 COMENTARIOS

  1. Todo bien, pero tuve un problema con la ultima linea:

    catch (SQLException ex){
    Logger.getLogger(MySQL_Test.class.getName()).log(Level.SEVERE, null, ex);
    }

    No me deja compilar

      • //este es mi codigo de la clase Mysql, he cambiado el puerto a 8080 por que el 80
        //ya lo tenia ocupado
        package test_mysql;

        import java.sql.Connection;
        import java.sql.DriverManager;
        import java.sql.ResultSet;
        import java.sql.SQLException;
        import java.sql.Statement;
        import javax.swing.JOptionPane;

        public class Mysql {

        Connection conexion = null;
        Statement comando = null;
        ResultSet registro;

        public Connection MySQLConnect() {

        try {
        //Driver JDBC
        Class.forName(«com.mysql.jdbc.Driver»);
        //Nombre del servidor. localhost:3306 es la ruta y el puerto de la conexión MySQL
        //panamahitek_text es el nombre que le dimos a la base de datos
        String servidor = «jdbc:mysql://localhost:8080/ProyectoUmss»;
        //El root es el nombre de usuario por default. No hay contraseña
        String usuario = «root»;
        String pass = «»;
        //Se inicia la conexión
        conexion = DriverManager.getConnection(servidor, usuario, pass);
        } catch (ClassNotFoundException ex) {
        JOptionPane.showMessageDialog(null, ex, «Error en la conexión a la base de datos: » + ex.getMessage(), JOptionPane.ERROR_MESSAGE);
        conexion = null;
        } catch (SQLException ex) {
        JOptionPane.showMessageDialog(null, ex, «Error en la conexión a la base de datos: » + ex.getMessage(), JOptionPane.ERROR_MESSAGE);
        conexion = null;
        } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, ex, «Error en la conexión a la base de datos: » + ex.getMessage(), JOptionPane.ERROR_MESSAGE);
        conexion = null;
        } finally {
        JOptionPane.showMessageDialog(null, «Conexión Exitosa»);
        return conexion;
        }
        }
        }

    • El problema es que no se puede comunicar con el servidor SQL verifica que el nombre de la base de datos, el usuario y el password sean los mismos que las variables si no funciona verifica que mysql esta a la escucha por el puerto 3306 ejecutando la siguiente sentencia SQL en phpmyadmin:

      SHOW VARIABLES WHERE Variable_name IN (‘hostname’, ‘port’);

      mira el siguiente enlace para aclarar mas dudas
      https://andalinux.wordpress.com/2013/05/29/obtener-puerto-e-ip-servidor-mysql-usando-sql/

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Post relacionados