Anuncio

Java proporciona JDBC (Java DataBase Connectivity) como parte del SDK de Java (Kit de desarrollo de software). Usando esto API, es muy fácil conectarse a un base de datos relacional 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 ... Lee mas y realizar operaciones comunes como consultar, insertar, actualizar y eliminar registros.

Si bien la API JDBC central se incluye en Java, la conexión a una base de datos en 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 JDBC centrales 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.

instagram viewer

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 conector / controlador 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 un lugar adecuado. Este archivo es necesario para ejecutar cualquier código que use el controlador JDBC de MySQL.

Crear una base de datos de muestra

Suponiendo que haya descargado la base de datos MySQL y configurarlo correctamente Cómo instalar una base de datos MySQL en WindowsSi a menudo escribe aplicaciones que se conectan a servidores de bases de datos, es bueno saber cómo instalar una base de datos MySQL en su máquina Windows con fines de prueba. Lee mas donde tenga acceso, permítanos crear una base de datos de muestra para que podamos usarla para conectar y realizar consultas.

Conéctese a la base de datos utilizando un cliente de su elección y ejecute las siguientes instrucciones 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 usuario de prueba quién se conectará a la base de datos MySQL desde la misma máquina donde se está ejecutando (indicado por localhost), utilizando la contraseña securepwd.

crear usuario 'testuser' @ 'localhost' identificado por 'securepwd'; 

Si se está conectando a una base de datos que se ejecuta en otra máquina (denominada remotemc), debe utilizar lo siguiente (remotemc puede ser un nombre de host o una dirección IP):

crear el usuario 'testuser' @ 'remotemc' identificado por 'securepwd'; 

Ahora que se ha creado el nombre de usuario y la contraseña, debemos otorgar acceso a la base de datos de muestra creada anteriormente.

conceder todo en la muestra. * a 'testuser' @ 'localhost'; 

O, si la base de datos es remota:

otorgue 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 WindowsSi a menudo escribe aplicaciones que se conectan a servidores de bases de datos, es bueno saber cómo instalar una base de datos MySQL en su máquina Windows con fines de prueba. Lee mas 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 clave principal auto_increment, nombre varchar (25)); drop table joe; 

Configurar ruta de clase Java

Pasemos ahora a los detalles de cómo conectarse a MySQL desde Java 10 conceptos básicos de Java que debe aprender al comenzarYa sea que esté escribiendo una GUI, desarrollando software del lado del servidor o una aplicación móvil con Android, aprender Java le será de gran utilidad. Aquí hay algunos conceptos básicos de Java para ayudarlo a comenzar. Lee mas . El primer paso es cargar el controlador de la base de datos. Esto se realiza invocando lo siguiente en una ubicación adecuada.

Class.forName ("com.mysql.jdbc. Conductor"); 

El código podría generar una excepción, por lo que puede detectarlo si tiene la intención de tratarlo (como formatear el mensaje de error para una GUI).

intente {Class.forName ("com.mysql.jdbc. Conductor"); } catch (ClassNotFoundException ex) {// usa la excepción aquí. }

Es muy común invocar este código en un bloque estático en la clase, por lo que el programa falla inmediatamente si no se puede cargar el controlador.

Muestra de clase pública. {estática {intente {Class.forName ("com.mysql.jdbc. Conductor"); } 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 clase de la siguiente manera.

java -cp mysql-connector-java--bin.jar:... 

Conexión a MySQL desde Java

Ahora que hemos ajustado los detalles de la carga del controlador MySQL desde Java, comencemos a 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.

Cadena jdbcUrl = "jdbc: mysql: // localhost / sample? usuario = testuser & contraseña = 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, vea a continuación las alternativas).

Usando esto jdbcUrl, aquí hay un programa completo para verificar la conectividad.

Muestra de clase pública. {estática {intente {Class.forName ("com.mysql.jdbc. Conductor"); } 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? usuario = testuser & contraseña = securepwd "; Conexión con = DriverManager.getConnection (jdbcUrl); System.out.println ("Conectado!"); con.close (); } }

Tenga en cuenta que una conexión de base de datos es un recurso valioso en un programa y debe cerrarse correctamente como se indicó anteriormente. Sin embargo, el código anterior 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 ("¡Conectado!"); }

Como se señaló 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.

Cadena 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:

seleccione la versión (); 

Una consulta se ejecuta en Java de la siguiente manera. UNA Declaración se crea el objeto y se ejecuta una consulta utilizando el ejecutar la solicitud() método que devuelve un Conjunto resultante.

String queryString = "seleccionar versión ()"; Sentencia stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Imprima la versión desde Conjunto resultante como sigue. 1 se refiere al índice de la columna en los resultados, comenzando desde 1.

while (rset.next ()) {System.out.println ("Versión:" + rset.getString (1)); }

Después de procesar los resultados, los objetos deben cerrarse.

rset.close (); stmt.close (); 

Y eso cubre todo lo que hay para conectarse a MySQL desde Java y realizar una consulta simple.

¿Has utilizado JDBC con MySQL en tus proyectos? ¿Qué problemas, si alguno, tuvo con las bases de datos y Java? Por favor háznoslo saber en los comentarios más abajo.