4.- Administrando La Base De Datos




En esta sección se verá como administrar una base de datos y que clases, objetos, métodos son requeridos para ésta operación.

Todas las operaciones que se realizan al administrar una base de datos se pueden clasificar en dos categorias generales : Actualizaciones y Consultas. Dentro de las Actualizaciones se encuentran todo lo relacionado con la modificación de entidades (tablas), como por ejemplo, "crear entidad", "modificar atributos", "eliminar registro", etc. En cambio, dentro de las Consultas se encuentran todas las consultas que se puedan realizar a la base de datos, por ejemplo : "Seleccionar un registro de tal entidad", etc.

El objeto que se encarga de enviar las sentencias SQL al driver es el Statement. Al objeto Statement se le debe indicar que método de utilizar dependiendo del tipo de sentencia SQL enviada (Actualizaciones o Consultas). Si la sentencia SQL es una Actualización, entoces se utiliza el método executeUpdate. Si la sentencia SQL es una Consulta, entoces se utiliza el método executeQuery.

Para crear el objeto Statement se debe invocar el método createStatement dentro del objeto del tipo Connection utilizado para conectarse a la base de datos.

La línea de código siguiente muestra como crear un objeto Statement(donde con es un objeto del tipo Connection).

Statement stmt = con.createStatement();

La línea de código siguiente muestra el objeto Statement ejecutando una sentencia SQL para craer una tabla

stmt.executeUpdate("CREATE TABLE ALUMNOS " +
"(ROL VARCHAR(32) NOT NULL, NOMBRE VARCHAR(32) NOT NULL," +
"CARRERA VARCHAR(32), PRIMARY KEY (ROL))");

La línea de código siguiente muestra el objeto Statement ejecutando una sentencia SQL para insertar datos en una tabla.

stmt.executeUpdate(
"INSERT INTO ALUMNOS " +
"VALUES ('9821000-0', 'Armando Casas', 'Electronica')");

Ahora se verá como realizar consultas.

Para envíar una sentencia SQL del tipo Consulta se utliza el método executeQuery tal como lo muestra la siguiente línea de código

String query = "SELECT ROL, NOMBRE FROM ALUMNOS";
ResultSet rs = stmt.executeQuery(query);

El resultado de la consulta es recibido por el API JDBC como un objeto del tipo ResultSet, por ello, el retorno del método executeQuery se asigna a un objeto de éste tipo.

Ahora que tenemos el resultado se puede trabajar con él. Dentro del objeto ResultSet existen diferentes métodos para extraer la información. El primero que se debe conocer es el método next, que permite mover un puntero por las distintas filas que conforman el resultado de la consulta (hay que imagimar en el objeto ResultSet como una tabla). En un principio el puntero se encuentra sobre la primera fila, por ello antes que todo se debe invocar al método next para ingresar a la tabla.

Para obtener la información se utiliza el método getXXX (donde XXX es el tipo de datos a recuperar), por ejemplo getString, getInt, getFloat, etc.

El código siguiente muestra como mostrar la información recibida por una consulta.

String query = "SELECT ROL, NOMBRE FROM ALUMNOS";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String r = rs.getString("ROL");
String n = rs.getFloat("NOMBRE");
System.out.println(r + " " + n);
}

La salida se parecerá a esto.

9821000-0 Armando Casas

En esta sección se examinó como poder ejecutar sentencias SQL a través de una aplicación Java, pero sólo se mostraron algunas sentencias SQL. Para las otras se procede de la misma manera que la vista.