
Joseph Goodman
0
1308
1
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, de todos modos? [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 ... y realiza 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..
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
Asumiendo que ha descargado la base de datos MySQL y la configuró 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 saber cómo instalar una base de datos MySQL en su máquina Windows con fines de prueba. 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 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 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 se ha creado el nombre de usuario y la contraseña, debemos otorgar acceso a la base de datos de muestra creada anteriormente.
conceda todo en la muestra. * a 'testuser' @ 'localhost';
O, si la base de datos es remota:
conceda 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 Windows con fines de prueba. 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
Permítanos ahora entrar en detalles sobre 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 software del lado del servidor o un aplicación móvil con Android, aprender Java te servirá bien. Aquí hay algunos conceptos básicos de Java para ayudarlo a comenzar. . El primer paso es cargar el controlador de la base de datos. Esto se realiza invocando lo siguiente en un lugar adecuado.
Class.forName ("com.mysql.jdbc.Driver");
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).
pruebe 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, por lo que el programa falla 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 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? 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, vea 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 ("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.