¿Cómo conectar Java con MySQL utilizando JDBC?
Todo sistema de información posee una conexión a un motor de bases de datos para poder guardar los datos ingresados al sistema y así se pueda realizar una futura consulta. Para realizar una conexión es necesario utilizar un componente conocido como JDBC (Java Data Base Connector) el cual, debe proveer el creador del motor de base de datos que se desee utilizar. Como sabemos Java puede conectarse a múltiples motores de base de datos y el JDBC está diseñado para esto, puede ser independiente de la plataforma e incluso de la base de datos, de esta manera, la aplicación se comunica con el JDBC y este con la base de datos. Para manipular la base de datos desde la aplicación en Java es necesario utilizar el lenguaje SQL (Structured Query Language).
En este caso consideraremos un motor de base de datos y es MySQL, para poder realizar una conexión entre Java y MySQL se debe descargar el Driver JDBC para MySQL este es un componente embebido en un archivo “jar”. Este archivo debe incluirse en el build path del proyecto para poder ser utilizado por la aplicación.
Conexión a base de datos
Para realizar la conexión primero crearemos una clase en Java llamada Conexion y trabajaremos dentro de ella, debemos tomar en cuenta que es necesario hacer uso de las clases Connection y DriverManager que hacen parte del paquete java.sql. Adicionalmente, se deben conocer los siguientes parámetros:
- JDBC: Es necesario conocer la clase que permite que el JDBC realice la conexión a la base de datos de acuerdo al motor seleccionado. Para MySql, la clase es com.mysql.jdbc.Driver.
- Cadena de conexión: Esta cadena jdbc:mysql://host:port/database contiene información del JDBC, servidor, puerto y nombre de base de datos.
– host: es la IP donde está la base de datos MySQL, si está en nuestra misma máquina será localhost.
– port: es el puerto por donde escucha el servidor de base de datos, por defecto para MySQL es el 3306.
– database: es el nombre de la base de datos a la cual nos queremos conectar. - Usuario: El usuario debe ser incluido en la conexión para hacer uso de los diferentes servicios del motor de la base de datos.
- Contraseña: Corresponde a la contraseña con que el usuario puede ingresar a la base de datos.
La siguiente clase muestra una forma de realizar la conexión usando MySQL:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class Conexion
{
private static Connection conn = null;
private static String usuario= "walter";
private static String contraseña= "12345";
private static String url = "jdbc:mysql://localhost:3306/inventarios";
public static Connection getConnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,usuario,contraseña);
if (conn != null) {
System.out.println("Conexion Exitosa");
}
} catch (ClassNotFoundException | SQLException e)
{
JOptionPane.showMessageDialog(null, "Conexion Erronea " + e.getMessage());
}
return conn;
}
public static void main(String[] args) {
Conexion.getConnection();//probamos que la conexión se inicie
}
}
El método getConnection permite que el atributo connection cree una conexión con la base de datos. Para ello requiere de las siguientes características:
- El método estático forName de la clase Class permite cargar a la aplicación, el conector de la base de datos. Recibe el parámetro JDBC expuesto anteriormente <com.mysql.jdbc.Driver>.
- El método estático getConnection de la clase DriverManager permite establecer una conexión a la base de datos a través del JDBC. Recibe como parámetro la cadena de conexión, el usuario y la contraseña.
- A su vez este método lleva dos excepciones, SQLException, si surge algún error, por ejemplo que no se pueda conectar a la base de datos, y ClassNotFoundException, en caso de que no encuentre la clase com.mysql.jdbc.Driver necesaria para establecer la conexión.
En el método Main lo que haremos es ejecutar nuestra conexión para verificar que todo funcione de forma correcta, una vez ejecutado por consola nos debe mostrar el siguiente mensaje:
Conexion Exitosa
WALTER ROSERO
Creador de Walter Rosero - SuperTecnoDroid | Responsable del Canal de YouTube Walter Rosero. Amante de la tecnología y juegos, me gusta aportar con un granito de arena al aprendizaje y la enseñanza. Soy editor y compositor en el área multimedia. Combino mi pasión por la enseñanza a través de la World Wide Web.
WALTER ROSERO
Hola soy Robinson Rosero, me dedico a crear contenido por medio de la World Wide Web, para ayudar a las personas y así poder desarrollar experiencia con nuevas ideas.