Clase DriverManager y sintaxis de URLs JDBC: conexión a bases de datos

InformáticaActualizado el 2,97 KB

Resumen

El documento explica la clase DriverManager de JDBC, que gestiona los distintos manejadores de una aplicación, y sus métodos getConnection para conectarse a una base de datos. Describe el proceso de conexión con los drivers registrados y la estructura de las URL de JDBC, formadas por protocolo, subprotocolo y subnombre.

Puntos clave

  • DriverManager gestiona los manejadores (drivers) registrados en la aplicación.
  • Sus métodos principales son getConnection(String url) y getConnection(String url, String user, String password).
  • DriverManager invoca el método connect de la interface Driver con cada manejador registrado hasta conectar.
  • Si ningún manejador consigue la conexión, se lanza una excepción SQLException.
  • Una URL de JDBC tiene la forma protocolo:subprotocolo:subnombre, por ejemplo jdbc:odbc:usuarios.
  • El subprotocolo indica el tipo de base de datos o tecnología (odbc, mysql, postgresql) y el subnombre la información para localizarla.

Ponte a prueba

Clase DriverManager

Como su nombre indica, esta clase es la gestora de los diversos drivers (manejadores) que haya en nuestra aplicación. Es posible que sea necesario en una misma aplicación tener varios manejadores para una misma base de datos, acceder a varias bases de datos que emplean distintos manejadores, o bien ambas situaciones a la vez. De ahí el interés de contar con este gestor de manejadores.

Métodos Principales de DriverManager

Los métodos que más nos interesan de esta clase son:

  • static Connection getConnection(String url)
  • static Connection getConnection(String url, String user, String password)

Estos métodos intentan establecer conexión con la base de datos que le indiquemos en el campo url, empleando para ello todos los manejadores que hemos registrado. La diferencia entre un método y el otro, obviamente, es que en uno solo se especifica la base de datos a la que nos queremos conectar, mientras que en el otro se indica también el nombre de usuario de la base de datos y su contraseña (password). Más adelante explicaremos qué es el objeto Connection que devuelven estos métodos.

Proceso de Conexión

Lo que hace la clase DriverManager para intentar establecer conexión con la base de datos es invocar al método connect de la interface Driver, interface que como veremos deben implementar todos los manejadores.

El proceso se desarrolla de la siguiente manera:

  1. Realiza esta operación con todos los manejadores que tiene registrados.
  2. Si el manejador devuelve null, significa que no se ha podido conectar con la base de datos, y el gestor intenta de nuevo conectarse con otro manejador.
  3. Si consigue conectarse con un manejador, no sigue intentándolo con el resto de los manejadores registrados.
  4. Si no consigue establecer la conexión con ningún manejador, lanza una excepción tipo SQLException.

Sintaxis de los URL de JDBC

Los URL (Uniform Resource Locator) de JDBC identifican una base de datos, y un protocolo de conexión a esta, de un modo unívoco. Toda URL de JDBC consta siempre de tres partes:

protocolo:subprotocolo:subnombre

Un ejemplo de URL de conexión podría ser: jdbc:odbc:usuarios. Veamos qué es cada una de las partes del URL:

  • Protocolo: Indica que se está utilizando JDBC (generalmente jdbc).
  • Subprotocolo: Especifica el tipo de base de datos o la tecnología de acceso (ej. odbc, mysql, postgresql).
  • Subnombre: Contiene la información específica necesaria para localizar la base de datos (ej. nombre del archivo, nombre del servidor, puerto, etc.).

Descargar

PDF Word HTML

Preguntas frecuentes

¿Qué hace la clase DriverManager en JDBC?

Es la gestora de los diversos drivers o manejadores de la aplicación. Intenta establecer la conexión con la base de datos usando los manejadores registrados.

¿Qué pasa si ningún driver consigue conectar con la base de datos?

DriverManager lanza una excepción de tipo SQLException.

¿Qué partes tiene una URL de JDBC?

Tiene tres partes: protocolo, subprotocolo y subnombre, con el formato protocolo:subprotocolo:subnombre.

Ponte a prueba

Tarjetas de repaso

Pulsa una tarjeta para ver la respuesta.

Test

1. ¿Qué método de la interface Driver invoca DriverManager para intentar conectarse?
2. ¿Qué ocurre si un manejador devuelve null?
3. ¿Cuál es el formato de una URL de JDBC?
4. ¿Qué indica el subprotocolo en una URL de JDBC?
5. ¿En qué se diferencian los dos métodos getConnection de DriverManager?

Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.