Descripción
El método getConnection()
del objeto DriverManager
nos permite establecer una conexión con la base de datos SQL.
Para establecer una conexión es necesario proporcionar una URL de conexión que identifique la base de datos a la que nos queremos conectar. Opcionalmente podemos proporcionar un usuario y contraseña si la base de datos requiere autenticación. El método getConnection()
devolverá un objeto Connection
que representa la conexión establecida con la base de datos.
La cadena de conexión tiene la estructura:
jdbc:subprotocolo://servidor:puerto/base_de_datos
Dónde:
- subprotocolo: es el tipo de base de datos a la que nos queremos conectar (mysql, postgresql, oracle,…)
- servidor: es el nombre o IP del servidor donde se encuentra la base de datos
- puerto: es el puerto por el que escucha la base de datos
- base_de_datos: es el nombre de la base de datos a la que nos queremos conectar
Al ejecutar el método getConnection()
del objeto DriverManager
se puede lanzar la excepción SQLException
en caso de que haya algún problema al establecer la conexión. Esto puede ocurrir por varios motivos, como credenciales incorrectas, servidor no disponible o problemas de red. Por lo tanto, es importante manejar adecuadamente esta excepción en nuestro código.
También se puede lanzar la SQLTimeoutException
en caso de que la conexión no se pueda establecer dentro del tiempo límite especificado. Es importante establecer tiempos de espera adecuados para evitar que nuestra aplicación se quede bloqueada indefinidamente esperando una respuesta de la base de datos. Este tiempo de conexión se establece mediante el método setLoginTimeout()
.
Sintaxis
public static Connection getConnection(String url) throws SQLException
public static Connection getConnection(String url, String user, String password) throws SQLException
public static Connection getConnection(String url, Properties info) throws SQLException
Parámetros
- Properties info: Un objeto Properties que contiene un conjunto de pares clave-valor con la configuración de la conexión. Puede incluir propiedades como el usuario, contraseña, timeout de conexión y otras opciones específicas del driver.
- String url: La URL de conexión JDBC que especifica la ubicación y los parámetros de la base de datos a la que se desea conectar. Debe seguir el formato jdbc:subprotocolo://servidor:puerto/base_de_datos.
- String user: El nombre de usuario para autenticarse en la base de datos. Este parámetro es necesario si la base de datos requiere autenticación.
- String password: La contraseña asociada al usuario para autenticarse en la base de datos. Este parámetro es necesario si la base de datos requiere autenticación.
Excepciones
SQLException
, SQLTimeoutException
Clase Padre
Ejemplo
public class InsertarDatos {
public static void main(String[] args) {
Connection con = null;
PreparedStatement stmt = null;
String sDriver = "com.mysql.jdbc.Driver";
String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";
try{
Class.forName(sDriver).newInstance();
con = DriverManager.getConnection(sURL,"root","");
String sISBN = "84-9815-212-7";
String sTitulo = "Yo, Claudio";
String sDescripcion="Supuesta autobiografía de Claudio";
String sCategoria = "Novela Histórica";
int idAutor = 3;
stmt = con.prepareStatement("INSERT INTO libros VALUES (?,?,?,?,?)");
stmt.setString(1,sISBN);
stmt.setInt(2,idAutor);
stmt.setString(3,sTitulo);
stmt.setString(4,sDescripcion);
stmt.setString(5,sCategoria);
int retorno = stmt.executeUpdate();
if (retorno>0)
System.out.println("Insertado correctamente");
} catch (SQLException sqle){
System.out.println("SQLState: "
+ sqle.getSQLState());
System.out.println("SQLErrorCode: "
+ sqle.getErrorCode());
sqle.printStackTrace();
} catch (Exception e){
e.printStackTrace();
} finally {
if (con != null) {
try{
stmt.close();
con.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
}
}
Artículos
Vídeos Java
Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.