Los 7 pasos a seguir para el manejo de MySQL con Java

La creación y gestión de bases de datos MySQL con Java es uno de los conocimientos esenciales que todo Java Programmer debe poseer. Esta guía ha sido diseñada por un principiante, para principiantes, exponiendo los conocimientos básicos que se necesitan para entrar en el mundo del MySQL en Java

A continuación voy a describir paso a paso lo que se necesita para crear una base de datos y utilizar MySQL con Java. Esta guía ha sido diseñada para aquellos usuarios que sean principiantes en el manejo de bases de datos MySQL con Java. Yo alguna vez estuve en dicha posición y cómo me hubiese encantado que alguien me explicara lo que debía hacer paso por paso. Veamos qué es lo que se necesita.

1- Necesitamos contar con MySQL y Apache Server

El Apache y MySQL server son necesarios para que se pueda dar la comunicación de la aplicación Java con la base de datos. Antes ya he escrito en este blog sobre XAMPP y he mostrado cómo crear bases de datos desde PHPmyAdmin. En este tutorial no crearemos las bases de datos con este método sino que a través de programación crearemos y modificaremos la base de datos en MySQL.

Lo que yo recomiendo en cuando al Apache y MySQL servers es descargar e instalar XAMPP. Este programa lo podemos conseguir en su sitio oficial:

Descargar XAMPP

Una vez descargado e instalado, abrimos la aplicación y nos aparece la siguiente ventana:

pasos a seguir para crear Base de Datos MySQL en Java

Sólo tenemos que dar clic en “Start” para el MySQL y Apache Servers.

pasos a seguir para crear Base de Datos MySQL en Java

Hemos completado el primer paso de nuestro proceso. Veamos qué sigue.

2- Descargar el MySQL driver para Java

Esta es la librería que hace posible el uso de MySQL con Java. Posee los métodos necesarios para que esto sea posible. La podemos descargar desde el siguiente enlace:

MySQL Driver JDBC

Dentro encontraremos el archivo mysql-connector-java-5.0.8-bin.jar que es el que tendremos que agregar a nuestro proyecto en Netbeans.

pasos a seguir para crear Base de Datos MySQL en Java

Podemos seguir con el siguiente paso.

3- Creamos un proyecto en Netbeans

Creamos un proyecto tipo Java Application llamado MySQL_Test. Dentro vamos a agregar un JFrame y una clase. El JFrame lo vamos a llamar Window y la clase se llamará MySQL. Recordamos agregar la librería que descargamos en el paso anterior.

pasos a seguir para crear Base de Datos MySQL en Java

4- Programamos la clase MySQL

Dentro de la clase MySQL vamos a colocar todos los métodos relacionados al manejo de la base de datos y la conexión con el servidor. Lo primero que haremos será crear una variable global. Estas es:

Ahora creamos un método tipo void llamado MySQLConnection(). Aquí vamos a iniciar una conexión con el servidor MySQL. El código es el siguiente:

Como vemos, necesitamos introducir como parámetros el nombre de usuario, la contraseña y el nombre de la base de datos. Podemos hacer una prueba en este momento. Si tenemos todo en orden, creamos una instancia de la clase MySQL en el método de la clase principal (MySQL_Test) y ejecutamos el método MySQLConnection(). Aquí está el código que se coloca en la clase principal:

El nombre de usuario por defecto es root. La contraseña y nombre de la base de datos la dejamos en blanco. Si tenemos todo en orden, el resultado debe ser el siguiente:

pasos a seguir para crear Base de Datos MySQL con Java

 

Podemos agregar un método para finalizar la conexión con el servidor.

Ahora crearemos otro método, esta vez para crear una base de datos. Lo llamaremos createDB(). El código es el siguiente:

Un punto que me gustaría resaltar es la variable que he llamado Query. Esta variable contiene una instrucción que es con lo que se trabaja en MySQL. Para las bases de datos, el Query consta de los comantos CREATE TABLE seguido del nombre de la base de datos. Nótese que para que este método se pueda utilizar es necesario primero ejecutar MySQLConnection(). Una vez que se ha creado la Base de Datos, se cierra la conexión y se reinicia, ahora introduciendo como parámetro la base de datos que hemos creado.

Vamos a crear un método para crear una tabla dentro de la base de datos. Lo llamaremos createTable().

Tenemos lo que se necesita para construir una Base de Datos y una Tabla. El Query esta vez luce un poco diferente. Para crear la tabla se utiliza CREATE TABLE seguido del nombre de la tabla, se abre un paréntesis y se coloca el nombre de las columnas que va a tener y el tipo de dato de cada columna, separando cada una columna de otra con una coma (,). Para este ejemplo utilizará VARCHAR, aunque para la edad bien pude utilizar INT. Entre paréntesis se coloca la cantidad máxima de caracteres que podrá almacenar una celda de determinada columna. La tabla poseerá 5 columnas: IDNombre, Apellido, Edad y Sexo.

Ahora hay que crear un método para introducir los registros a la tabla. Crearemos el método insertData(). El código es el siguiente:

Ahora el Query posee la instrucción INSERT INTO, seguido del nombre de la tabla en la que se quiere insertar la información. Luego se agrega la palabra VALUES y entre paréntesis los valores que se desean insertar, entre comillas. Digamos que queremos introducir la información de Juan Rodríguez, hombre con 19 años de edad. Su ID es 8-835-532. El nombre de la tabla es Registros. El Query quedaría de la siguiente forma:

INSERT INTO Registros VALUES (“8-835-532”, “Juan”, “Rodríguez”, “19”, “M”);

Ahora vamos a crear un método llamado getValues() para hacer las consultas en la base de datos. Por ahora vamos a imprimir en la consola.

Ahora el Query está formado por las palabras SELECT * FROM seguidas del nombre de la tabla. El asterisco indica que se desean consultar todos los valores de una fila determinada. Para hacer la consulta necesitamos crear un resultSet. Esta variable funciona como una cabeza lectora que va leyendo fila a fila. Con el método getString() leemos las columnas que deseamos.

Ahora le vamos a agregar un método para borrar registros. Lo llamaremos deleteRecord() y le introduciremos como parámetro el nombre de la tabla y el ID del registro que queremos eliminar.

Quizás podríamos agregar métodos para borrar tablas y bases de datos pero vamos a dejarlo así por ahora. Hemos terminado de programar la clase MySQL. Aquí la tenemos:

 

Vamos al siguiente paso.

5- Creamos una interfaz gráfica

Vamos a la clase Window.java y diseñamos una sencilla interfaz de usuario.

pasos a seguir para crear Base de Datos MySQL en Java

Colocamos los 4 botones con las opciones que deseamos que posea nuestra aplicación. Las opciones “Registrar Usuario“, “Obtener Registros” y “Borrar Registro”  se encuentran inactivas ya que no pueden ser ejecutadas si no se inicia la conexión con el servidor MySQL.

Vamos a crear una clase con un formulario de registro y una con la opción de borrar un registro. He agregado las clases Window_Register y Window_Delete con las siguientes interfaces gráficas.

pasos a seguir para crear Base de Datos MySQL en Java

pasos a seguir para crear Base de Datos MySQL en Java

Podemos pasar al siguiente paso.

6- Programamos la interfaz gráfica

La prioridad de toda aplicación Java es ejecutar el método main de la clase principal. Vamos a crear una instancia para que lo primero que haga nuestro programa sea mostrarnos la ventana principal.

Nuestro método main de la clase MySQL_Test quedaría de la siguiente forma:

pasos a seguir para crear Base de Datos MySQL en Java

 

Ahora cada vez que ejecutamos nuestro programa nos aparece la ventana principal. Vamos a programar la clase Window.java.

Primero creamos un objeto llamado db como una instancia de la clase MySQL. En el botón “Conectar a base de Datos”  debemos colocar el siguiente código:

pasos a seguir para crear Base de Datos MySQL en Java

Ejecutemos el programa para ver si todo está en orden.

En nuestro PHPMyAdmin (en XAMPP presionamos el botón Admin al lado de MySQL) nos debe aparecer una nueva base de datos con la tabla registros en su interior.

pasos a seguir para crear Base de Datos MySQL en Java

Ahora el código que colocamos en el botón debemos cambiarlo, ya que no podemos crear una base de datos con el mismo nombre 2 veces. Ya tenemos nuestra base de datos con la tabla registros dentro, así que vamos a cambiar la programación.

pasos a seguir para crear Base de Datos MySQL en Java

Vemos que al iniciar la conexión se des habilita el botón de conectar y se habilitan los demás botones. A continuación el código para cada botón:

pasos a seguir para crear Base de Datos MySQL en Java

Ahora vamos a cada ventana que hemos agregado y programamos los botones. Primero la ventana de borrar registros.

En el botón de Borrar Registro colocamos:

Instanciamos la clase MySQL, luego abrimos una conexión, borramos el registro con el ID que se haya introducido en el TextField y cerramos la conexión.  Por último cerramos la ventana.

pasos a seguir para crear Base de Datos MySQL en Java

Ahora vamos a la ventana de registro de datos. La programación del botón Registrar es la siguiente:

Nuestro código nos queda así:

pasos a seguir para crear Base de Datos MySQL en Java

Con esto hemos terminado nuestra programación. Tenemos una pequeña aplicación que nos permite registrar información en una base de datos, imprimirla y borrar ciertos registros.

7- Probamos nuestra aplicación

Ya que tenemos nuestro código terminado podemos proceder a probar lo que hemos hecho. El proyecto completo puede ser descargado desde Github, en el siguiente enlace:

MySQL_Test

A continuación un video donde se muestra el funcionamiento de esta aplicación.

El proyecto está tal como lo he desarrollado para este tutorial. Debemos recordar que esto no es una aplicación, sino una demostración. Los métodos pueden ser mejorados y hay algunas cosas que se pueden hacer de una mejor forma que la que he plasmado en este tutorial, pero queda en ustedes desarrollar sus habilidades en el uso de MySQL a partir de lo que ya les he mostrado aquí.

Espero sus comentarios. Saludos.

¿Te gustó? ¡Comparte!Share on LinkedInShare on FacebookTweet about this on TwitterEmail this to someoneShare on RedditShare on TumblrShare on Google+Pin on PinterestBuffer this page