"AÑO DEL BUEN SERVICIO AL CIUDADANO"
Grupo NeSi
INTEGRANTES: KARIN YANINA ROMERO JULCA
JHERSI ANALI SAAVEDRA GARCIA
YAKELINE VILCHEZ CRUZADO
YAKELINE VILCHEZ CRUZADO
PROFESOR: MARCO AURELIO PORRO CHULLI
CICLO: V AULA: "402"
BAGUA GRANDE-AMAZONAS-PERÚ
-------------------------------------------------------------------------------------------------------------------
😊😆😀😇
Clase Statement
1. CONTENIDO
Definición:
Definición:
java.sql.Statement:
createStatement();
java.sql.PreparedStatement:
prepareStatement();
Un objeto Statement se usa para enviar
sentencias SQL a la base de datos. Actualmente hay tres tipos de objetos
Statement, todos los cuales actúan como contenedores para la ejecución de
sentencias en una conexión dada: Statement, PreparedStatement que hereda de
Statement y CallableStatement que hereda de PreparedStatement. Estas estàn
especializadas para enviar tipos particulares de sentencias SQL, 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; y un objeto CallableStatement se usa para ejecutar un
procedimieno de base de datos almacenado.
La interfase Statement suminstra métodos
básicos para ejecutar sentencias y devolver resultados. La interfase
PreparedStatement añade métodos para trabajat con los parámetros IN; y la
interfase CallableStatement añade métodos para trabajar con parameters OUT.
La clase statement se usa para ejecutar sentencias SQL.
Lleva asociada una conexión que sirvió como origen para su creación
Se crea con el método de la clase:
java.sql.Connection: publicStatementcreateStament() trowsjava.sql.SQLException;
Métodos
ü executeQuery(String sql)
ü Ejecución de consultas:
SELECT
ü Devuelve un objeto ResultSet
executeUpdate(String sql)
ü Modificaciones en la BD:
INSERT, UPDATE, DELETE
ü Devuelve el número de
columnas afectadas
execute(String
sql)
ü Ejecución de instrucciones
que pueden devolver varios conjuntos de resultados
ü Requiere usar luego
getResultSet() o getUpdateCount() para recuperar los resultados, y
getMoreResults() para ver los siguientes resultados
![]() |
FIGURA N°:2 |
Creación de objetos Statement
Una vez establecida la conexión con una base
de datos particular, esta conexión puede usarse para enviar sentencias SQL. 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 stmt = con.createStatement();
La sentencia SQL que será enviada a la base
de datos es alimentada como un argumento a uno de los métodos de ejecución del
objeto Statement.
Ejemplo
ResultSet rs = stmt.executeQuery("SELECT
a, b, c FROM Table2");
Ejecución de sentencias usando objetos
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
El método executeQuery esta 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 efecto de una sentencia INSERT,
UPDATE o DELETE es una modificación de una o más columnas en cero o más filas
de una tabla. El valor devuelto de executeUpdate es un entero que indica el
número de filas que han sido afectadas (referido como update count). Para
sentencias tales como CREATE TABLE o DROP TABLE, que no operan sobre filas, le
valor devuelto por executeUpdate es siempre cero.
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. Como es esta una característica avanzada que muchos
programadores no necesitarñan nunca se verá en su propia sección.
Todos los métodos que ejecutan sentencias
cierran los objetos Resultset abiertos como resultado de las llamadas a
Statement. Esto quiere decir que es necesario completar el proceso con el
actual objeto Resulset antes de reejecutar una sentencia Statement.
Debe notarse que la interfase
PreparedStatement, que hereda los métodos de la interfase Statement, tiene sus
propias versiones de los métodos executeQuery, executeUpdate y execute. Los
objetos Statement en si mismos no contienen una sentencia SQL, por tanto debe
suministrarse como un argumento a los métodos Statement.execute.
Los objetos
PreparedStatement no suministran una sentencia SQL como argumento a estos
métodos puesto que ya tienen la sentencia precompilada. Los objetos
CallableStatement heredan las formas de estos métodos de PreparedStatement.
Usar un parametro de query con las versiones de los métodos de
PreparedStatement o CallableStatement producirái una SQLException.
Realización de Statement
Cuando una conexión está en modo auto-commit,
las sentencias ejecutadas son
‘comitadas’ o rechazadas cuando se completan. Un sentencia se considera
completa cuando ha sido ejecutada y se han devuelto todos los resultados. Pare
el método executeQuery, que devuelve un único result set, la sentencia se
completa cuando todas las filas del objeto ResultSet se han devuelto. Para el
método executeUpdate, un sentencia se
completa cuando se ejecuta. En los raros casos en que se llama al método
execute, de cualquier modo, no se completa hasta que los result sets o update
counts que se generan han sido devueltos.
Algunos DBMS tratan cada sentencia en un
procedimiento almacenado como sentencias separadas. Otros tratan el
procedimiento entero como una sentencia compuesta. Esta diferencia se convierte
en importante cuando está activo el modo auto-commit porque afecta cuando se
llama al método commit. En el primer caso, cada sentencia individual es
commitada. En el segundo, se commiten todas juntas.
Cerrar objetos Statement.
Los objetos Statement se cerrarán automáticamente
por el colector de basura de Java (garbage collector). No obstante se
recomienda como una buena práctica de programación que se cierren
explicitamente cuando no sean ya necesarios. Esto libera recursos DBMS
inmediatamente y ayuda a evitar potenciales problemas de memoria.
PROPIEDADES:👀
PROPIEDADES:👀
Empezamos
por descargar el conector MySQL para Java desde su sitio web: conector MySQL.
Una vez que hemos descargado el fichero .zip correspondiente a nuestra
plataforma lo descomprimimos en el equipo y
buscamos dentro de la carpeta principal un archivo llamado
mysql-connector con extensión .jar.
Ahora
tenemos que agregar este archivo jar a nuestra aplicación de NetBeabs, para
ello hacemos Click derecho sobre el
nombre del proyecto y seleccionamos propiedades. En la ventana siguiente
seleccionamos en librerías y posteriormente pulsamos en el botón –>Add
Jar/folder. Finalmente accedemos a la localización del conector que descargamos
anteriormente y pulsamos OK.
Después
de importar el conector ya casi estamos preparados, aunque antes de continuar
necesitamos un servidor local y una base de datos.
En
mi caso utilizo phpMyAdmin para crear la bd java1 con nombre de usuario root y
sin contraseña. También la tabla Motor con 3 columnas: Marca, Modelo y
Potencia.
En
la siguiente clase insertamos 2 registros en la tabla motor con el método
executeUpdate(). Finalmente mostramos los datos en pantalla ordenados por
Potencia.
EJEMPLOS:
ejempo1:
finally { try { if
(resultados != null) { // liberar los ResultSet
resultados.close(); }
if (instruccion
!= null) { // liberar los Statement
instruccion.close(); }
if (conexion
!= null) { // liberar la conexión a la BD
conexion.close(); } } catch (Exception e) { e.printStackTrace();
}
}
ejemplo2_:
En el vídeo a continuación habrá una explicación mas precisa de entender mejor este tema:
Ejemplo3:
Ejemplo3:
// El
siguiente código es nuevo en JDBC 2.0
Statement stmt2 =
conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATEABLE);
// El
siguiente código es nuevo en JDBC 3.0
Statement stmt3 =
conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY,
ResultSet.HOLD_CURSOR_OVER_COMMIT);
video de ejemplos:
2. RESUMEN
3.SUMARY:
4. CONCLUSIONES
implementado para llevar a cabo las consultas sea fácil de
aprender y entender (muy parecido a SQL) debido a que este da a la multibase de
datos la apariencia de que se accesa a una base de datos sencilla y por lo
tanto las operaciones de distribución son transparentes al usuario.
Click para ver las Diapositivas
https://www.slideshare.net/jhersisaavedragarcia/statement-80996960
La clase statement sirve
para ejecutar sentencias y devolver resultados. 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.
3.SUMARY:
The statement class is used to
execute statements and return results. process a static SQL statement and get
the results produced by it. There can only be one ResultSet open for each
Statement object at a given time.
4. CONCLUSIONES
La importancia principal de las multibase de datos y mas
concretamente de las bases de datos federadas fuertemente acopladas radica
principalmente en su bi procesamiento. Es decir, en su capacidad de atender
consultas globales, al mismo tiempo que permite que las bases de datos
componentes sigan atendiendo a sus aplicaciones locales. La existencia de un
esquema global permite que el lenguaje
5. APRECIACIÓN DEL EQUIPO
Saber manejar el lenguaje de programación Java es muy importante por los múltiples beneficios, entonces mediante su estudio podemos conocer su estructura y sobretodo como podemos acceder a una Base de Datos desde la plataforma Java. En este tema podemos conocer cómo acceder a una Base de Datos utilizando la clase Connection o más conocida como JDBC.
6. GLOSARIO DE TÉRMINOS
6. GLOSARIO DE TÉRMINOS
- RESULTSET: En SQL ResultSet es un conjunto de filas de una base de datos, así como los metadatos acerca de la consulta, tales como los nombres de las columnas, y los tipos y tamaños de cada columna. Dependiendo del sistema de base de datos, el número de filas del conjunto de resultados puede ser o no ser conocido. Por lo general, este número no se conoce por adelantado debido a que el conjunto de resultados se construye sobre la marcha.
- JDBC: Java Database Connectivity (JDBC) es una interfaz de programación de aplicaciones (API) para el lenguaje de programación Java, que define la forma en que un cliente puede acceder a una base de datos. Es parte de la plataforma Java Standard Edition, de Oracle Corporation. Proporciona métodos para consultar y actualizar datos en una base de datos, y se orienta hacia las bases de datos relacionales. Un puente JDBC-to-ODBC permite conexiones a cualquier fuente de datos ODBC accesible en el entorno de acogida máquina virtual Java (JVM).
7.- LINKOGRAFIA
https://www.slideshare.net/jhersisaavedragarcia/statement-80996960
Se debe tener al menos 10 términos en su GLOSARIO. Defina claramente su APRECIACIÓN. Se tiene que establecer 3 RECOMENDACIONES y CONCLUSIONES.Muchas gracias por su aporte. Saludos
ResponderEliminar