Clase DriverManager y sintaxis de URLs JDBC: conexión a bases de datos
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.
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:
- Realiza esta operación con todos los manejadores que tiene registrados.
- 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. - Si consigue conectarse con un manejador, no sigue intentándolo con el resto de los manejadores registrados.
- 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 HTMLPreguntas 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
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.