Saltar la navegación

3.1.3. Conexión

Para acceder a una base de datos y así poder operar con ella, lo primero que hay que hacer es conectarse a dicha base de datos.

En Java, para establecer una conexión con una base de datos podemos utilizar el método getConnection() de la clase DriverManager. Este método recibe como parámetro la URL de JDBC que identifica a la base de datos con la que queremos realizar la conexión.

La ejecución de este método devuelve un objeto Connection que representa la conexión con la base de datos.

Cuando se presenta con una URL específica, DriverManager itera sobre la colección de drivers registrados hasta que uno de ellos reconoce la URL especificada. Si no se encuentra ningún conector adecuado, se lanza una SQLException

Preparar la conexión a la base de datos es un paso importante que tener en cuenta. Para realizar la conexión, es necesario utilizar la clase Connection. Este será el intermediario que conectará nuestra aplicación y la base de datos. Si estamos utilizando otro entorno para realizar la conexión, se necesitará el nombre del host y el puerto. Para construir la URL, seguiremos esta estructura:

String url = "jdbc:mysql://hostname:port/database";
String url = "jdbc:mysql://localhost/database";
String usuario= "alumno";
String contrasena = "password"
Connection conn = DriverManager.getConnection(url, usuario, contrasena);

Para realizar la conexión se utiliza DriverManager y se llamará al método getConnection(), que devolverá el objeto Connection con todos los datos de la conexión realizada en BBDD.

Veamos un ejemplo para conectarnos a una base de datos MySQL:

Ejemplo de conexión a una base de datos

Ejercicio

Realiza las siguientes operaciones para la creación de la base de datos a la que nos conectaremos:

  1. Conéctate al servidor del ordenador del profesor o instalar XAMPP en tu equipo. Usa phpmyadmin para la gestión de la base de datos.
  2. Si aún no tienes un usuario en la base de datos, accede con root y crea uno con tu nick del correo del instituto. Deberás indicar que se cree una base de datos con el mismo nombre y todos los privilegios.
  3. Sal del usuario root y entra con el nuevo usuario.
  4. Comprueba que todo es correcto.

Realiza ahora los siguientes pasos para la conexión:

  1. Descarga e instala el Driver JDBC para la base de datos MySQL. En nuestro caso, Conector/J.
  2. En Eclipse, realiza los pasos indicados aquí.

Instalar el conector

Para que podamos ejecutar el código anterior, necesitamos instalar el conector de la base de datos.

Entre nuestra aplicación Java y el Sistema Gestor de Base de Datos (SGBD), se intercala el conector JDBC. Este conector es el que implementa la funcionalidad de las clases de acceso a datos y proporciona la comunicación entre el API JDBC y el SGBD.

La función del conector es traducir los comandos del API JDBC al protocolo nativo del SGBD. Tan sólo consiste en descargar un archivo, descomprimirlo y desde el IDE añadir el fichero .jar que constituye el driver que necesitamos. En nuestro caso, nos conectaremos a una base de datos MySql.

  1. Descarga el conector desde aquí e instálalo en tu equipo.
  2. Abre tu IDE y busca información para incorporar el Driver que se encuentra en C:\Program Files (x86)\MySQL\Connector J 8.0\
  3. Realiza la llamada en el código y ejecuta para comprobar.

Más información

Método Descripción
getConnection(String url) Establecerá la conexión con tan solo la URL. La URL
deberá contener toda la información necesaria para
conectarse a la base de datos.
getConnection(String url, Properties info)

Este método se encargará de realizar la conexión a
partir de la URL y un Properties. Esta clase contendrá
toda la información necesaria para conectarse a la
base de datos, como el usuario o la contraseña.

Debemos tener en cuenta que cabe la posibilidad de que se produzca un error en este proceso, por este motivo hemos englobado todos los pasos dentro de un try-catch que controlará el error si se produce. Un posible error podría ser un error de conexión debido a que hemos definido incorrectamente la conexión, a que el usuario o la contraseña están mal o a que no hemos realizado el proceso de registrar el driver. En todo caso, si se produce un error, entrará en el bloque catch. Para finalizar, vemos que tenemos un bloque finally para cerrar la conexión del objeto.