El documento describe los objetos Statement, PreparedStatement y CallableStatement en Java para ejecutar sentencias SQL. Statement se usa para sentencias SQL simples sin parámetros, PreparedStatement para sentencias precompiladas con o sin parámetros, y CallableStatement para procedimientos almacenados. Statement se crea usando el método createStatement de Connection y ofrece tres métodos para ejecutar sentencias: executeQuery, executeUpdate y execute.
2. STATEMENT
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.
Statement PreparedStatement CallableStatement
Tipos de Objetos
3. OBJETODDELACLASE
STATEMENT Un objeto Statement se usa para ejecutar una
sentencia SQL simple sin parámetros
Un objeto PreparedStatement se usa para ejecutar
sentencias SQL precompiladas con o sin
parámetros IN
un objeto CallableStatement se usa para
ejecutar un procedimiento de base de datos
almacenado.
OJO: Estas están especializadas para enviar tipos particulares de sentencias SQL
4. Creación de
Objetos
Statement
Un objeto Statement se crea mediante el método de Connection
createStatement, como podemos ver en el siguiente fragmento de
código.
Connection con = DriverManager.getConnection(url, "sunny", "");
Statement stm = con.createStatement();
Por ejemplo
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");
5. Ejecución de
sentencias
usando objetos
Statement.
La interface Statement nos suministra tres métodos diferentes
para ejecutar sentencias SQL, executeQuery, executeUpdate y
execute. El método a usar está determinado por el producto de
la sentencia SQL.
Métodos para Ejecutar Sentencias
El método
executeQuery
El método
executeUpdate
El método
execute
6. El método executeQuery: Está diseñado para sentencias que producen como resultado un
único result set tal como las sentencias SELECT.
El método executeUpdate: Se usa para ejecutar sentencias INSERT, UPDATE ó DELETE, así como
sentencias SQL DDL (Data Definition Language) como CREATE TABLE o DROP TABLE.
El método execute: Se usa para ejecutar sentencias que devuelven más de un result set, más que
un update count o una combinación de ambos.
7. Ejemplo:
//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()