Comunicar Java con base de datos MySQL

11
42150
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.

0 0 votes
Article Rating
Suscríbete
Notify of
guest

11 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
Miguel H
Miguel H
4 years ago

Me ayuda bastante a resolver mis dudas muchas gracias

hola
hola
6 years ago

Gracias me sirvio mucho

Antony García González
Antony García González
6 years ago

Nunca he dicho ser experto

Wilson Salazar
Wilson Salazar
7 years ago

excelente tu post, solo falto decir que hay que agregar el jar de mysql https://dev.mysql.com/downloads/file/?id=13460

Cesar Herbas
Cesar Herbas
8 years ago

disculpa soy nuevo en netbeans…te cuento q tengo un pequeño problema con la conexion, mi proyecto corre pero tarda mucho en responderme, y me muestra una ventana de errores al final(adjunto la captura de pantalla), cierro esa ventana y me muestra la pequeña venta de conexion exitosa https://uploads.disquscdn.com/images/170dc6bc8789018079f8c815382d23125ac602a1d85831d32d581e6932e5ee93.png

Antony García González
Antony García González
8 years ago
Reply to  Cesar Herbas

Parece un problema con el driver de JDBC o algo con un trycatch. Comparte tu código a ver que será

Cesar Herbas
Cesar Herbas
8 years ago

//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… Read more »

Leonidas131
Leonidas131
7 years ago
Reply to  Cesar Herbas

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/

Cristóbal Andre Torregrosa Jar
Cristóbal Andre Torregrosa Jar
9 years ago

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