Este documento describe los objetos Statement en Java que se utilizan para ejecutar sentencias SQL en una base de datos. Existen tres tipos principales de objetos Statement: Statement, PreparedStatement y CallableStatement. Statement ejecuta sentencias SQL simples, PreparedStatement ejecuta sentencias precompiladas con parámetros, y CallableStatement ejecuta procedimientos almacenados. El documento explica cómo crear objetos Statement y los métodos para ejecutar diferentes tipos de sentencias SQL como consultas, actualizaciones y más.
2. DEFINICION:
El objeto Statement (sentencia) sirve para procesar una sentencia SQL estática y obtener los
resultados producidos por ella. Solo puede haber un ResultSet abierto para cada objeto
Statement en un momento dado. Todos los métodos statement que procesan una sentencia
SQL cierran implícitamente el ResultSet actual de una sentencia si existe uno abierto.
Statement:
PreparedStatement:
CallableStatement:
Tipos de
objetos
3. TIPOSDE OBJETOS statement
Statement: PreparedStatement: CallableStatement:
Ejecuta una sentencia SQL
simple sin parámetros.
Suministra métodos básicos
para ejecutar sentencias y
devolver resultados.
Ejecuta sentencias SQL
precompiladas con o sin
parámetros IN.
Añade métodos para
trabajar con los
parámetros IN.
Ejecuta un
procedimiento de base
de datos almacenado.
Añade métodos para
trabajar con parametros
OUT.
4. Propiedades:
MÉTODO Descripción
void cancel() Cancela el objeto Statement, abortando la sentencia
SQL correspondiente.
void close() Cierra el objeto Statement liberando todos los
recursos asociados de forma inmediata.
boolean execute(String sql) Ejecuta la sentencia SQL que se pasa por parámetro
ResultSet
executeQuery(String sql)
Ejecuta una sentencia SQL que devuelve un
conjunto de resultados, representando por el objeto
ResultSet.
int executeUpdate(String sql) Ejecuta la sentencia SQL que se pasa por parámetro
y debe ser del tipo INSERT, UPDATE o DELETE
Connection getConnection() Devuelve el objeto Connection a partir del que se ha
creado el objeto Statemen
5. CREACION DEL OBJETO STATEMENT:
Un objeto Statement se crea mediante el método de Connection
CreateStatement, como podemos ver en el siguiente código:
Connection con = DriverManager.getConnection(url, "sunny", "");
Statement stmt = con.createStatement();
Ejemplo:
ResultSet rs = stmt.executeQuery("SELECT a, b, c
FROM Table2");
6. Ejecuciónde sentenciasusandoobjetos
Statement
La interfase Statement nos suministra tres métodos diferentes para ejecutar sentencias
SQL, executeQuery, executeUpdate y execute. El método a usar esta determinado por el
producto de la sentencia SQL
Metodo ExecuteQuery Metodo ExecuteUpdate Metodo Execute
Metodos para ejecutar sentencias
7. Metodo ExecuteQuery
Diseñado para sentencias que producen como resultado un
único resultset tal como las sentencias SELECT.
Ejecuta sentencias INSERT, UPDATE ó DELETE así como
sentencias SQL DDL (Data Definition Language) como
CREATE TABLE o DROP TABLE.
Ejecuta sentencias que devuelven más de un resultset, más
que un UPDATE COUNT o una combinación de ambos.
Metodo ExecuteUpdate
Metodo Execute
8. EJEMPLOS
ESTABLECEMOS LA CONEXIÓN CON LA BASE DE DATOS.
Connection conexion = DriverManager.getConnection
("jdbc:mysql://localhost/prueba","root",
"la_clave");
// Preparamos la consulta
Statement s = conexion.createStatement();
ResultSet rs = s.executeQuery ("select * from persona");
// Recorremos el resultado, mientras haya registros para leer, y escribimos el resultado en
pantalla.
while (rs.next())
{
System.out.println (rs.getInt (1) + " " + rs.getString (2)+ " " + rs.getDate(3));
}
// cerramos la conexión de base de datos.
Conexión.close()