preparestatement
TRANSCRIPT
PREPAREDSTATEMENT
PREPAREDSTATEMENT
Este interfaz, al igual que el interfaz Statement, nos permite ejecutar sentencias SQL sobre una conexión establecida con una base de datos. Pero en este caso vamos a ejecutar sentencias SQL más especializadas, estas sentencias SQL se van a denominar sentencias SQL precompiladas y van a recibir parámetros de entrada.
Los métodos execute(), executeQuery() y executeUpdate() son sobrecargados y en esta versión, esdecir, para los objetos PreparedStatement no toman ningún tipo de argumentos, de esta forma, a estos métodos nunca se les deberá pasar por parámetro el objeto String que representaba la sentencia SQL a ejecutar.
El interfaz PreparedStatement.
A continuación se ofrece la acostumbrada referencia rápida de los métodos del interfaz que nos ocupa.void adBatch(): añade un conjunto de parámetros al conjunto de comandos que se ejecutará en modo batch.void clearParameters(): elimina los valores de los parámetros actuales. boolean execute(): ejecuta cualquier tipo de sentencia SQL. ResultSet executeQuery(): ejecuta la sentencia SQL representada por el objeto PreparedStatement, devolviendo un objeto ResultSet con el resultado de la ejecución de la consulta.
objetos PreparedStatement
Para crear un objeto PreparedStatement se debe lanzar el método prepareStatement() del interfaz Connection sobre el objeto que representa la conexión establecida con la base de datos. En el siguiente ejemplo se puede ver como se crearía un objeto PreparedStatement que representa una sentencia SQL con dos parámetros de entrada.
parámetros de entrada
Antes de poder ejecutar un objeto PreparedStatement se debe asignar un valor para cada uno de sus parámetros. Esto se realiza mediante la llamada a un método setXXX, donde XXX es el tipo apropiado para el parámetro. Por ejemplo, si el parámetro es de tipo long, el método a utilizar será setLong().
Método executeUpdate
Ejecuta la instrucción SQL determinada, que puede ser una instrucción INSERT, UPDATE, MERGE o DELETE; o una instrucción SQL que no devuelve nada, como una instrucción DDL de SQL.
Uso de callablestatement
El último tipo de sentencias que podemos utilizar en JDBC son las sentencias CallableStatement. Este interfaz hereda del interfaz PreparedStatement y ofrece la posibilidad de manejar parámetros de salida y de realizar llamadas a procedimientos almacenados de la base de datos.
Ejemplos
PreparedStatement pstmt = con.prepareStatement(consulta);String user = . . . ;
String email = . . . ;Date edad = . . . ; //O int edad;
pstmt.setString(1 , user);pstmt.setString(2 , email);
pstmt.setDate(3 , edad); // setInt(3, edad);ps.executeUpdate();