Artículos
Java

Conectarnos a una base de datos con JDBC

10/Ago/2007

El objetivo de nuestro ejemplo es el de ver qué tenemos que hacer para crear una conexión JDBC con Java sobre una base de datos y ejecutar una consulta.

Las tres clases que manejaremos en nuestro ejemplo serán Connection para realizar la conexión a la base de datos, PreparedStatement que será la que contenga la sentencia SQL y ResultSet que será la que contenga el resultado.

Lo primero que tenemos que saber para realizar la conexión a la base de datos es donde se encuentra dicha base de datos. Para hacer referencia a la base de datos lo podemos hacer directamente mediante la IP o, por ejemplo, mediante una referencia ODBC.

Así, podríamos tener referencias como:

jdbc:db2:10.0.1.10:50000/BD1 (referencia directa)
jdbc:odbc:BD1 (referencia por ODBC)

Una vez conocemos la localización de nuestra base de datos debemos de saber el nombre de la clase que tiene implementada la conexión a la base de datos. Es lo que llamamos driver. Dependiendo de la forma en la que este implementado el driver, este, recibirá el apelativo de driver tipo1, tipo2, tipo3 o tipo4.

Si nos ponemos a escribir código, lo primero que debemos de hacer es instanciar la clase del driver.

Class.forName(sDriver).newInstance();

Dicha clase será la que nos proporcione una conexión a la base de datos, y como bien hemos dicho, la conexión la guardaremos en una instancia de la clase Connection.

con = DriverManager.getConnection(sURL);

Un vez que hemos conseguido una conexión a la base de datos lo siguiente será el preparar una sentencia SQL en un PreparedStatement. No haremos nada complicado con el SQL, algo así como…

stmt = con.prepareStatement("SELECT titulo FROM libros");

Construida nuestra sentencia, realizamos la ejecución de la misma. Y el resultado al ResultSet.

rs = stmt.executeQuery();

Un ResultSet no deja de ser una especie de matriz (filas x columnas) que deberemos de recorrer mediante el movimiento de un cursor. Y la forma más fácil en Java es mediante un bucle while. Y para acceder a las columnas bastará con utilizar los métodos getXXX del ResultSet: getString() para las cadenas de texto, getDouble() para los decimales, getDate() para las fechas,……

while (rs.next())
   System.out.println (rs.getString("titulo"));

Una vez que hemos finalizado el cometido de nuestro ejercicio deberemos de cerrar las conexiones a la base de datos. Para ello invocaremos el método close() sobre los tres objetos mencionados.

Y en todo este proceso, las excepciones. No nos debemos de olvidar de ellas. A tal respecto deberemos de ejecutar nuestro código en un bloque try-catch que controle la SQLException. Excepción común que se produce en el acceso a la base de datos.

El código podría quedar como el que sigue:

try {
  Class.forName(sDriver).newInstance();    
  con = DriverManager.getConnection(sURL);

  try {

    // La Query
    stmt = con.prepareStatement("SELECT titulo FROM libros");
    rs = stmt.executeQuery();
	   
    // Recorremos el resultado
    while (rs.next())
      System.out.println (rs.getString("titulo"));

    } catch (SQLException sqle) { 
      System.out.println("Error en la ejecución:" 
            + sqle.getErrorCode() + " " + sqle.getMessage());    
}

Código Fuente

Descárgate el código fuente de Conectarnos a una base de datos con JDBC
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
15 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios