Cómo conectarse a una base de datos MySQL con Java
Java proporciona JDBC (Java DataBase Connectivity) como parte del Java SDK (Software Development Kit). Usando esta API, es muy fácil conectarse a una base de datos relacional. Entonces, ¿qué es una base de datos? [MakeUseOf explica] Entonces, ¿qué es una base de datos, de todos modos? [MakeUseOf Explica] Para un programador o un entusiasta de la tecnología, el concepto de una base de datos es algo que realmente se puede dar por sentado. Sin embargo, para muchas personas, el concepto de una base de datos en sí es un poco extraño ... Lea más y realice operaciones comunes como consultar, insertar, actualizar y eliminar registros..
Mientras que la API de JDBC central está incluida en Java, la conexión a una base de datos particular como MySQL o SQL Server requiere un componente adicional conocido como el controlador de la base de datos. Este controlador de base de datos es un componente de software que traduce las llamadas centrales de JDBC a un formato comprendido por esa base de datos..
En este artículo, veamos los detalles de la conexión a una base de datos MySQL y cómo realizar algunas consultas con ella.
El controlador de base de datos MySQL
Como se explicó anteriormente, para poder conectarse a una base de datos MySQL, necesita el controlador JDBC para MySQL. Esto se llama el controlador Connector / J y se puede descargar desde el sitio MySQL aquí.
Una vez que descargue el archivo ZIP (o TAR.GZ), extraiga el archivo y copie el archivo JAR mysql-connector-java-bin.jar a una ubicación adecuada. Este archivo es necesario para ejecutar cualquier código que use el controlador JDBC de MySQL.
Creación de una base de datos de muestra
Suponiendo que haya descargado la base de datos MySQL y configurada correctamente Cómo instalar una base de datos MySQL en Windows Cómo instalar una base de datos MySQL en Windows Si a menudo escribe aplicaciones que se conectan a servidores de bases de datos, es bueno si sabe cómo instalar una base de datos MySQL. en su máquina de Windows para fines de prueba. Lea más en el lugar donde tiene acceso, permítanos crear una base de datos de muestra para poder utilizarla para conectar y realizar consultas..
Conéctese a la base de datos utilizando un cliente de su elección y ejecute las siguientes declaraciones para crear una base de datos de muestra.
crear muestra de base de datos;
También necesitamos un nombre de usuario y una contraseña para poder conectarnos a la base de datos (a menos que desee conectarse como administrador, lo que generalmente es una mala idea).
Lo siguiente crea un usuario llamado testuser quién se conectará a la base de datos MySQL desde la misma máquina donde se está ejecutando (indicado por localhost), usando la contraseña Securepwd.
crear el usuario 'testuser' @ 'localhost' identificado por 'securepwd';
Si se está conectando a una base de datos que se ejecuta en otra máquina (llamada remotemc), necesita usar lo siguiente (remotemc puede ser un nombre de host o una dirección IP):
crear el usuario 'testuser' @ 'remotemc' identificado por 'securepwd';
Ahora que el nombre de usuario y la contraseña se han creado, debemos otorgar acceso a la base de datos de muestra creada anteriormente.
otorgar todo en la muestra. * a 'testuser' @ 'localhost';
O, si la base de datos es remota:
otorgar todo en la muestra. * a 'testuser' @ 'remotemc';
Ahora debe verificar que puede conectarse a la base de datos Cómo instalar una base de datos MySQL en Windows Cómo instalar una base de datos MySQL en Windows Si a menudo escribe aplicaciones que se conectan a servidores de bases de datos, es bueno si sabe cómo instalar una base de datos MySQL en Su máquina de Windows para propósitos de prueba. Lea más como el usuario que acaba de crear con la misma contraseña. También puede ejecutar los siguientes comandos después de conectarse, para asegurarse de que todos los permisos sean correctos.
crear tabla joe (id int primary key auto_increment, nombre varchar (25)); drop table joe;
Configurar la ruta de clase de Java
Veamos ahora los detalles de cómo conectarse a MySQL desde Java 10 Conceptos básicos de Java que debe aprender al comenzar 10 Conceptos básicos de Java que debe aprender al comenzar Ya sea que esté escribiendo una GUI, desarrollando un software del lado del servidor o un Aplicación móvil usando Android, aprender Java te servirá bien. Aquí hay algunos conceptos básicos de Java para ayudarte a comenzar. Lee mas . El primer paso es cargar el controlador de la base de datos. Esto se hace invocando lo siguiente en una ubicación adecuada.
Class.forName ("com.mysql.jdbc.Driver");
El código podría generar una excepción, por lo que puede capturarlo si tiene la intención de manejarlo (como el formato del mensaje de error para una GUI).
intente Class.forName ("com.mysql.jdbc.Driver"); catch (ClassNotFoundException ex) // usa la excepción aquí
Es muy común invocar este código en un bloque estático en la clase para que el programa falle inmediatamente si no se puede cargar el controlador..
Muestra de clase pública static try Class.forName ("com.mysql.jdbc.Driver"); catch (ClassNotFoundException ex) System.err.println ("No se puede cargar el controlador MySQL");
Por supuesto, para poder encontrar el controlador, el programa debe invocarse con el controlador JAR (descargado y extraído anteriormente) incluido en la ruta de clases de la siguiente manera.
java -cp mysql-connector-java--bin.jar:…
Conectando a MySQL desde Java
Ahora que hemos eliminado los detalles de la carga del controlador MySQL desde Java, permítanos conectarnos a la base de datos. Una forma de crear una conexión de base de datos es usar el DriverManager.
Cadena jdbcUrl =…; Conexión con = DriverManager.getConnection (jdbcUrl);
Y cual es el jdbcUrl? Indica los detalles de la conexión, incluido el servidor donde se encuentra la base de datos, el nombre de usuario, etc. Aquí hay una URL de muestra para nuestro ejemplo.
String jdbcUrl = "jdbc: mysql: // localhost / sample? User = testuser & password = secrepwd";
Tenga en cuenta que hemos incluido todos los parámetros necesarios para la conexión, incluido el nombre de host (localhost), nombre de usuario y contraseña. (Incluir una contraseña como esta NO es una buena práctica, consulte a continuación las alternativas).
Usando esto jdbcUrl, Aquí hay un programa completo para verificar la conectividad..
Muestra de clase pública static try Class.forName ("com.mysql.jdbc.Driver"); catch (ClassNotFoundException ex) System.err.println ("No se puede cargar el controlador MySQL"); static public void main (String [] args) lanza Exception String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = securepwd"; Conexión con = DriverManager.getConnection (jdbcUrl); System.out.println ("Connected!"); con.close ();
Tenga en cuenta que una conexión de base de datos es un recurso precioso en un programa y debe cerrarse correctamente como se indicó anteriormente. El código anterior, sin embargo, no cierra la conexión en caso de una excepción. Para cerrar la conexión en una salida normal o anormal, use el siguiente patrón:
try (Connection con = DriverManager.getConnection (jdbcUrl)) System.out.println ("Connected!");
Como se indicó anteriormente, es una mala idea incrustar la contraseña en la URL de JDBC. Para especificar el nombre de usuario y la contraseña directamente, puede usar la siguiente opción de conexión.
String jdbcUrl = "jdbc: mysql: // localhost / sample"; try (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd"))
Consultar la base de datos desde Java
Ahora que la conexión a la base de datos está establecida, veamos cómo realizar una consulta, como consultar la versión de la base de datos:
seleccionar versión ();
Una consulta se ejecuta en java de la siguiente manera. UNA Declaración Se crea un objeto y se ejecuta una consulta usando el ejecutar la solicitud() método que devuelve un Conjunto resultante.
String queryString = "select version ()"; Statement stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Imprime la versión desde el Conjunto resultante como sigue. 1 Se refiere al índice de la columna en los resultados, comenzando desde 1..
while (rset.next ()) System.out.println ("Version:" + rset.getString (1));
Después de procesar los resultados, los objetos deben ser cerrados.
rset.close (); stmt.close ();
Y eso cubre todo lo que hay para conectarse a MySQL desde Java y realizar una consulta simple.
¿Has usado JDBC con MySQL en tus proyectos? ¿Qué problemas, si los hay, tuvo con las bases de datos y java? Por favor háznoslo saber en los comentarios más abajo.
Explorar más sobre: Java, SQL.