![Page 1: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/1.jpg)
BASES DE DATOS
Ingeniería Informática
Matemáticas e Informática
![Page 2: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/2.jpg)
DIAPOSITIVA 1
BASES DE DATOS
Acceso a Bases de datos
en Java
![Page 4: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/4.jpg)
DIAPOSITIVA 3
Fase 3: Crear y ejecutar consulta
Ejecutamos resulta pero no manipulamos ResultSet
![Page 5: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/5.jpg)
DIAPOSITIVA 4
Fase 3: Crear y ejecutar consulta
Ver ejemplo – EJ3
![Page 6: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/6.jpg)
DIAPOSITIVA 5
Fase 4: Obtener resultados (I)
Leemos el ResultSet.
![Page 7: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/7.jpg)
DIAPOSITIVA 6
Fase 4: Obtener resultados (I)
Ver ejemplo – EJ4
![Page 8: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/8.jpg)
DIAPOSITIVA 7
Fase 4: Obtener resultados (I)
![Page 9: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/9.jpg)
DIAPOSITIVA 8
Fase 5: Liberar recursos
![Page 10: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/10.jpg)
DIAPOSITIVA 9
Fase 5: Liberar recursos
¿Debemos cerrar la conexión (conn.close) tras cada
consulta? ¿Por qué?
![Page 11: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/11.jpg)
DIAPOSITIVA 10
Fase 5: Liberar recursos
¿Debemos cerrar la conexión (conn.close) tras cada
consulta? ¿Por qué?
No, es ineficiente si se van a ejecutar varias cosas.
![Page 12: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/12.jpg)
DIAPOSITIVA 11
Posibles errores
Errores más comunes:
• Driver no cargado (no se encuentra en classpath).
• Fallo de conexión.
• No existe la base de datos.
• Error de sintaxis en sentencia SQL.
• Errores de permisos.
• Violación reglas integridad referencial.
¿Qué/como debemos comprobar para solucionar cada
error?
![Page 13: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/13.jpg)
DIAPOSITIVA 12
Posibles errores
Cualquier de esos errores producirá una excepción.
En función del tipo de excepción o de los datos que nos
de la misma (códigos de error, por ejemplo) podemos
saber el error concreto.
![Page 14: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/14.jpg)
DIAPOSITIVA 13
Manejo de excepciones
![Page 15: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/15.jpg)
DIAPOSITIVA 14
PreparedStatement
Cada vez que enviamos una consulta al SGBD, éste:
• La analiza sintácticamente (Query Processor)
• Construye un plan para ejecutarla (Query Optimizer)
![Page 16: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/16.jpg)
DIAPOSITIVA 15
PreparedStatement
• Si tenemos un bucle donde repetidamente lanzamos la
misma query con diferentes parámetros es ineficiente
usar la clase Statement.
• Es mejor usar para estas situaciones
PreparedStatement.
• Además evita los ataques por inyección de código SQL
en Java.
![Page 17: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/17.jpg)
DIAPOSITIVA 16
SQL Injection
Fuente: http://bit.ly/1NSAxh1
![Page 18: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/18.jpg)
DIAPOSITIVA 17
SQL Injection
![Page 19: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/19.jpg)
DIAPOSITIVA 18
SQL Injection
Vamos a ver el ejemplo en código:
https://youtu.be/yjNDRhie5p8
![Page 20: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/20.jpg)
DIAPOSITIVA 19
Insert
Insertar varios registros usando PreparedStatement: más
eficiente, evitamos SQL Injection.
![Page 21: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/21.jpg)
DIAPOSITIVA 20
Insert
Ver ejemplo – EJ2_4
![Page 22: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/22.jpg)
DIAPOSITIVA 21
Update (I)
Actualización de registros mediante UPDATE.
![Page 23: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/23.jpg)
DIAPOSITIVA 22
Update (I)
Ver ejemplo – EJ2_5
![Page 24: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/24.jpg)
DIAPOSITIVA 23
Update (II)
¿Qué ocurre? ¿Qué significa ese error?
![Page 25: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/25.jpg)
DIAPOSITIVA 24
Update (II)
Ver ejemplo – EJ2_6
![Page 26: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/26.jpg)
DIAPOSITIVA 25
Delete (I)
¿Qué ocurre? ¿Qué significa ese error?
![Page 27: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/27.jpg)
DIAPOSITIVA 26
Delete (I)
Ver ejemplo – EJ2_7
![Page 28: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/28.jpg)
DIAPOSITIVA 27
Delete (II)
![Page 29: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/29.jpg)
DIAPOSITIVA 28
Delete (II)
Ver ejemplo – EJ2_8
![Page 30: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/30.jpg)
DIAPOSITIVA 29
Que clases y métodos usar
![Page 31: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/31.jpg)
DIAPOSITIVA 30
Clase DatabaseMetaData
![Page 32: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/32.jpg)
DIAPOSITIVA 31
Clase DatabaseMetaData
Ver ejemplo – EJ2_13
![Page 33: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/33.jpg)
DIAPOSITIVA 32
Estructura de tablas
También podemos obtener información de la estructura de
tablas usando la clase ResultSetMetaData.
![Page 34: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/34.jpg)
DIAPOSITIVA 33
Estructura de tablas
Ver ejemplo – EJ2_14
![Page 35: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/35.jpg)
DIAPOSITIVA 34
Funciones de tiempo en Java-SQL (I)
Podemos convertir tipos de fecha en Java a SQL de forma
sencilla. Tenemos los tipos Date, Time y TimeStamp como
básicos.
Info sobre Date y Timestamp: http://stackoverflow.com/questions/409286/should-i-use-
field-datetime-or-timestamp
![Page 36: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/36.jpg)
DIAPOSITIVA 35
Funciones de tiempo en Java-SQL (I)
Ver ejemplo – EJ2_15
![Page 37: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/37.jpg)
DIAPOSITIVA 36
Funciones de tiempo en Java-SQL (II)
![Page 38: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/38.jpg)
DIAPOSITIVA 37
Funciones de tiempo en Java-SQL (II)
Ver ejemplo – EJ2_16
![Page 39: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/39.jpg)
DIAPOSITIVA 38
Funciones de tiempo en Java-SQL (III)
Insertamos fechas usando un PreparedStatement donde
pasamos la fecha con un objeto java.sql.Date
En este ejemplo pasamos directamente la fecha actual.
![Page 40: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/40.jpg)
DIAPOSITIVA 39
Funciones de tiempo en Java-SQL (III)
Ver ejemplo – EJ2_17
![Page 41: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/41.jpg)
DIAPOSITIVA 40
Funciones de tiempo en Java-SQL (IV)
Misma dinámica pero usando una fecha específica tanto
con Date como con Calendar.
![Page 42: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/42.jpg)
DIAPOSITIVA 41
Funciones de tiempo en Java-SQL (IV)
Ver ejemplo – EJ2_18
![Page 43: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/43.jpg)
DIAPOSITIVA 42
Funciones de tiempo en Java-SQL (V)
Comparación de fechas.
![Page 44: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/44.jpg)
DIAPOSITIVA 43
Funciones de tiempo en Java-SQL (V)
Ver ejemplo – EJ2_19
![Page 45: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/45.jpg)
DIAPOSITIVA 44
Ficheros binarios en Java (I)
Modificamos la tabla “actor” para que podamos añadir
ficheros binarios.
Crearemos una nueva columna que acepte el tipo
LONGBLOB (Binary Large Object):
ALTER TABLE `sakila`.`actor` ADD COLUMN `picture`
LONGBLOB NULL AFTER `last_update`;
![Page 46: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/46.jpg)
DIAPOSITIVA 45
Ficheros binarios en Java (I): Enviar
Añadimos el fichero usando FileInputStream.
![Page 47: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/47.jpg)
DIAPOSITIVA 46
Ficheros binarios en Java (I): Enviar
Ver ejemplo – EJ2_20
![Page 48: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/48.jpg)
DIAPOSITIVA 47
Ficheros binarios en Java (II): Obtener
Guardarmos el fichero con FileOutputStream.
![Page 49: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/49.jpg)
DIAPOSITIVA 48
Ficheros binarios en Java (II): Obtener
Ver ejemplo – EJ2_21
![Page 50: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/50.jpg)
DIAPOSITIVA 49
Actualizar BD a través de ResultSet (I)
Actualizamos un registro: UPDATE ROW.
![Page 51: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/51.jpg)
DIAPOSITIVA 50
Actualizar BD a través de ResultSet (I)
Ver ejemplo – EJ2_22
![Page 52: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/52.jpg)
DIAPOSITIVA 51
Actualizar BD a través de ResultSet (II)
Actualizamos un registro: INSERT ROW.
![Page 53: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/53.jpg)
DIAPOSITIVA 52
Actualizar BD a través de ResultSet (II)
Ver ejemplo – EJ2_23
![Page 54: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/54.jpg)
DIAPOSITIVA 53
Actualizar BD a través de ResultSet (III)
Borramos un registro: DELETE ROW.
![Page 55: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/55.jpg)
DIAPOSITIVA 54
Actualizar BD a través de ResultSet (III)
Ver ejemplo – EJ2_24
![Page 56: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/56.jpg)
DIAPOSITIVA 55
Procedimientos almacenados (I)
![Page 57: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/57.jpg)
DIAPOSITIVA 56
Procedimientos almacenados (I)
Dos formas de solucionar el acceso a procedimientos almacenados:
http://stackoverflow.com/questions/986628/cant-execute-a-mysql-
stored-procedure-from-java
![Page 58: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/58.jpg)
DIAPOSITIVA 57
Procedimientos almacenados (I)
Ver ejemplo – EJ2_25
![Page 59: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/59.jpg)
DIAPOSITIVA 58
ArrayList para guardar datos (I)
![Page 60: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/60.jpg)
DIAPOSITIVA 59
ArrayList para guardar datos (I)
Obtenemos los datos y los guardamos en un ArrayList de String y los
imprimimos.
![Page 61: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/61.jpg)
DIAPOSITIVA 60
ArrayList para guardar datos (I)
Ver ejemplo – EJ2_26
![Page 62: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/62.jpg)
DIAPOSITIVA 61
ArrayList para guardar datos (II)
![Page 63: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/63.jpg)
DIAPOSITIVA 62
ArrayList para guardar datos (II)
![Page 64: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/64.jpg)
DIAPOSITIVA 63
ArrayList para guardar datos (II)
Ver ejemplo – EJ2_27
![Page 65: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/65.jpg)
DIAPOSITIVA 64
Escritura en fichero como CSV
Añadimos la opción de CSV.
![Page 66: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/66.jpg)
DIAPOSITIVA 65
Escritura en fichero como CSV
Escribimos los resultados en un fichero.
![Page 67: BASES DE DATOSocw.upm.es/lenguajes-y-sistemas-informaticos/acceso-a... · 2017-03-13 · BASES DE DATOS Acceso a Bases de datos en Java . DIAPOSITIVA 2 BASES DE DATOS Contacto con](https://reader030.vdocuments.co/reader030/viewer/2022021807/5bc53fd009d3f260758c938b/html5/thumbnails/67.jpg)
DIAPOSITIVA 66
Escritura en fichero como CSV
Ver ejemplo – EJ2_28