SlideShare una empresa de Scribd logo
1 de 17
JAVA CON
BASE DE
DATOS
INTEGRANTES:
 FIORELLA AGUILAR ISUIZA
 RAUL AARON DELGADO ESPARRAGA
Prof: Marco Aurelio Porro Chulli
Prof: Marco Aurelio Porro Chulli
JAVA CON BASE DATO
Java permite conectarse a bases de datos usando SQL-92 (Structured Query Language). La gran ventaja
de esta utilidad es que una BD. Puede migrarse y aún ser vista con el mismo programa Java. Usualmente,
una aplicación con acceso a BD. Se programa en un lenguaje propietario y sobre un sistema manejador de
BD propietario.
La API Java para el manejo de Bases de Datos es JDBC (¿Java DataBase Connectivity?). Este modelo no
es una derivación de ODBC (Open DataBase Connectivity). JDBC está escrito en Java. ODBC está escrito
en C. En esencia, la idea es la misma: un programa dialoga con el JDBC driver manager quien a su vez se
comunica con un controlador particular. JDBC es una interface hacia SQL, el lenguaje común de todas las
BD relacionales modernas.
Prof: Marco Aurelio Porro Chulli
CONEXIÓN:
Vista Preliminar
Un objeto Connection representa una conexión con una base de datos. Una
Sesión de conexión incluye las sentencias SQL que se ejecutan y los resultados que son
devueltos después de la conexión. Una única aplicación puede tener una o más
Conexiones con una única base de datos, o puede tener varias conexiones con
varias bases de datos diferentes.
APERTURA DE UNA CONEXIÓN
LA FORMA ESTÁNDAR DE ESTABLECER UNA CONEXIÓN A LA BASE DE DATOS ES MEDIANTE LA
LLAMADA AL MÉTODO DRIVERMANAGER.GETCONNECTION. ESTE MÉTODO TOMA UNA CADENA QUE
CONTIENE UNA URL. LA CLASE DRIVERMANAGER, REFERIDA COMO LA CAPA DE GESTIÓN JDBC, INTENTA
LOCALIZAR UN DRIVER QUE PUEDA CONECTAR CON LA BASE DE DATOS REPRESENTADA POR LA URL. LA
CLASE DRIVERMANAGER MANTIENE UNA LISTA DE CLASES DRIVER REGISTRADAS Y CUANDO SE LLAMA
AL MÉTODO GETCONNECTION, SE CHEQUEA CON CADA DRIVER DE LA LISTA HASTA QUE ENCUENTRA
UNO QUE PUEDA CONECTAR CON LA BASE DE DATOS ESPECIFICADA EN LA URL. EL MÉTODO CONNECT
DE DRIVER USA ESTA URL PARA ESTABLECER LA CONEXIÓN.
Prof: Marco Aurelio Porro Chulli
Prof: Marco Aurelio Porro Chulli
Uso general de URL’s
Dado que URL’s causan a menudo cierta confusión, daremos primero una breve explicación
de URL en general y luego entraremos en una discusión sobre URL’s de JDBC.
Una URL (Uniform Resource Locator) da información para localizar un recurso en Internet.
Puede pensarse en ella como una dirección.
La primera parte de una URL especifica el protocolo usado para acceder a la
información y va siempre seguida por dos puntos. Algunos protocolos comunes son ftp, que
especifica “file transfer protocol” y http que especifica “hypertext transfer protocol”. Si el
protocolo es “file” indica que el recurso está en un sistema de ficheros local mejor que en
Internet: veamos unos ejemplos:
ftp://javasoft.com/docs/JDK-1_apidocs.zip
http://java.sun.com/products/jdk/CurrentRelease
file:/home/haroldw/docs/books/tutorial/summary.html
Prof: Marco Aurelio Porro Chulli
JDBC y URL’s
Una URL JDBC suministra una forma de identificar una base de datos para que el driver apropiado
pueda reconocerla y establecer la conexión con ella. Los
Desarrolladores de drivers son los que determinan actualmente que JDBC URL
Identifica su driver particular. Los usuarios no tienen por qué preocuparse sobre
Como se forma una URL JDBC; ellos simplemente usan la URL suministrada con el driver que usan. El
rol de JDBC es recomendar algunas convenciones a los fabricantes de drivers para su uso.
Dado que los JDBC URL se usan con varios tipos de drivers, las convenciones son necesariamente muy
flexibles. Primero, permiten a diferentes drivers usar diferentes esquemas para nombrar las bases de
datos. EL subprotocolo odbc, por ejemplo, permite que las URL contengan valores de atributos (pero
no los requieren).
Prof: Marco Aurelio Porro Chulli
LA CLASE Statement
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.
Prof: Marco Aurelio Porro Chulli
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. Por ejemplo:
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");
Prof: Marco Aurelio Porro Chulli
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
está 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.
Prof: Marco Aurelio Porro Chulli
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.
Prof: Marco Aurelio Porro Chulli
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.
Prof: Marco Aurelio Porro Chulli
Sintaxis de Escape SQL en objetos Statement
Los objetos Statement pueden contener sentencias SQL que usen sintaxis de
escape SQL. La sintaxis de escape señala al driver que el código que lleva debe
ser tratado diferentemente. El driver buscará por cualquier sintaxis de escape y
lo traducirá en código que entiende la base de datos en particular. Esto hace
que la sintaxis de escape sea independiente de la DBMS y permite al
programador usar características que de otro modo no estarían disponibles.Una
cláusula de escape se enmarca entre llaves y tiene una palabra clave:
{keyword . . . parameters . . . }
Prof: Marco Aurelio Porro Chulli
LA CLASE ResultSet
Un ResultSet contiene todas las filas que satisfacen las condiciones de una
sentencia SQL y proporciona el acceso a los datos de estas filas mediante un
conjunto de métodos get que permiten el acceso a las diferentes columnas de la filas. El
método ResultSet.next se usa para moverse a la siguiente fila del result set, convirtiendo a ésta
en la fila actúal.
El formato general de un result set es una tabla con cabeceras de columna y los valores
correspondientes devueltos por la ‘query’. Por ejemplo, si la ‘query’ es
SELECT a, b, c FROM Table1, el resultado tendrá una forma semejante a :
Prof: Marco Aurelio Porro Chulli
Filas y Cursores
Un ResultSet mantiene un cursor que apunta a la fila actúal de datos. El cursor se mueve una
fila hacia abajo cada vez que se llama al método next. Incialmente se sitúa antes de la
primera fila, por lo que hay que llamar al método next para situarlo en la primera fila
conviertiendola en la fila actúal. Las filas de ResultSet se recuperan en secuencia desde la fila
más alta a la más baja.
Un cursor se mantiene válido hasta que el objeto Resultset o su objeto padre
Statement se cierra.
Prof: Marco Aurelio Porro Chulli
Columnas
Los métodos getXXX suministran los medios para recuperar los valores de las
columnas de la fila actúal. Dentro de cada fila, los valores de las columnas
pueden recuperarse en cualquier orden, pero para asegurar la máxima
portabilidad, deberían extraerse las columnas de izquierda a derecha y leer los
valores de la columnas una única vez.
Puede usarse o bien el nombre de la columna o el número de columna para
referirse a esta. Por ejemplo: si la columna segunda de un objeto RecordSet rs
se denomina “title” y almacena valores de cadena, cualquiera de los dos
ejemplos siguientes nos devolverá el valor almacenado en la columna.
String s = rs.getString("title");
String s = rs.getString(2);
Prof: Marco Aurelio Porro Chulli
Valores resultado NULL
Para determinar si un valor resultado dado es JDBC NULL, primero debe intentarse
leer la columna y usar el método ResultSet.wasNull para descubrir si el valor
devuelto es JDBC NULL
Cuando se ha leido un JDBC NULL usando uno de los métodos
ResultSet.getXXX, el método wasNull devuelve algo de lo siguiente:
 Un valor null de Java para aquellos métodos getXXX que devuelven objetos Java
(tales como getString, getBigDecimal, getBytes, getDate,
getTime, getTimestamp, getAsciiStream, getUnicodeStream,
getBinaryStream, getObject).
 Un valor cero para getByte, getShort, getInt, getLong,
getFloat y getDouble.
 Un valor false para getBoolean.
Prof: Marco Aurelio Porro Chulli

Más contenido relacionado

La actualidad más candente (20)

Examen Sandra U Israel Oracle
Examen Sandra U Israel OracleExamen Sandra U Israel Oracle
Examen Sandra U Israel Oracle
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Statement
StatementStatement
Statement
 
Mapa mental de base de datos
Mapa mental de base de datosMapa mental de base de datos
Mapa mental de base de datos
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
statement
statementstatement
statement
 
Curso de pl sql básico
Curso de pl sql básicoCurso de pl sql básico
Curso de pl sql básico
 
Persistencia jpa
Persistencia jpaPersistencia jpa
Persistencia jpa
 
Ms SQL Server
Ms SQL ServerMs SQL Server
Ms SQL Server
 
Acceso a datos con JAVA
Acceso a datos con JAVAAcceso a datos con JAVA
Acceso a datos con JAVA
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Java persitence api
Java persitence apiJava persitence api
Java persitence api
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
Persistencia de datos
Persistencia de datosPersistencia de datos
Persistencia de datos
 
Mapa mental de base de datos
Mapa mental de base de datosMapa mental de base de datos
Mapa mental de base de datos
 

Destacado

Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...
Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...
Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...José Antonio García Erce
 
Détecter et neutraliser efficacement les cybermenaces !
Détecter et neutraliser efficacement les cybermenaces !Détecter et neutraliser efficacement les cybermenaces !
Détecter et neutraliser efficacement les cybermenaces !Kyos
 
Hack the Hackers 2012: Client Side Hacking – Targeting the User
Hack the Hackers 2012: Client Side Hacking – Targeting the UserHack the Hackers 2012: Client Side Hacking – Targeting the User
Hack the Hackers 2012: Client Side Hacking – Targeting the UserNew Horizons Bulgaria
 
Virus (Trojan Horse,Salami Attack)
Virus (Trojan Horse,Salami Attack)Virus (Trojan Horse,Salami Attack)
Virus (Trojan Horse,Salami Attack)Ferellica
 
Trojan horse and salami attack
Trojan horse and salami attackTrojan horse and salami attack
Trojan horse and salami attackguestc8c7c02bb
 
Presentation Virus (salami attack and trojan horse)
Presentation Virus (salami attack and trojan horse)Presentation Virus (salami attack and trojan horse)
Presentation Virus (salami attack and trojan horse)siti zulaikha
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatiqueYves Van Gheem
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java ProgrammingRavi Kant Sahu
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'informationFranck Franchin
 

Destacado (17)

Connection
ConnectionConnection
Connection
 
Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...
Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...
Comunicación Oral 075. Anemia sector Huesca. SEHH SETH Santiago de Compostela...
 
Détecter et neutraliser efficacement les cybermenaces !
Détecter et neutraliser efficacement les cybermenaces !Détecter et neutraliser efficacement les cybermenaces !
Détecter et neutraliser efficacement les cybermenaces !
 
Hack the Hackers 2012: Client Side Hacking – Targeting the User
Hack the Hackers 2012: Client Side Hacking – Targeting the UserHack the Hackers 2012: Client Side Hacking – Targeting the User
Hack the Hackers 2012: Client Side Hacking – Targeting the User
 
Virus (Trojan Horse,Salami Attack)
Virus (Trojan Horse,Salami Attack)Virus (Trojan Horse,Salami Attack)
Virus (Trojan Horse,Salami Attack)
 
hackers
hackershackers
hackers
 
Trojan horse and salami attack
Trojan horse and salami attackTrojan horse and salami attack
Trojan horse and salami attack
 
Un nouvel espoir
Un nouvel espoirUn nouvel espoir
Un nouvel espoir
 
Trojan Horse Virus
Trojan Horse VirusTrojan Horse Virus
Trojan Horse Virus
 
Presentation Virus (salami attack and trojan horse)
Presentation Virus (salami attack and trojan horse)Presentation Virus (salami attack and trojan horse)
Presentation Virus (salami attack and trojan horse)
 
La Sécurité informatiques
La Sécurité informatiquesLa Sécurité informatiques
La Sécurité informatiques
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatique
 
Introduction to Java Programming
Introduction to Java ProgrammingIntroduction to Java Programming
Introduction to Java Programming
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'information
 
Core java slides
Core java slidesCore java slides
Core java slides
 
Introduction to java
Introduction to javaIntroduction to java
Introduction to java
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 

Similar a java con base de datos (20)

Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
Fundamentos de Sistemas de Base de Datos (Capítulo 9 y 10)
 
Statement
StatementStatement
Statement
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Act4 screencast-bdatos cmch
Act4 screencast-bdatos cmchAct4 screencast-bdatos cmch
Act4 screencast-bdatos cmch
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
SQL-2022-2023.pptx
SQL-2022-2023.pptxSQL-2022-2023.pptx
SQL-2022-2023.pptx
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Doris aguagallo bdii_t7
Doris  aguagallo bdii_t7Doris  aguagallo bdii_t7
Doris aguagallo bdii_t7
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Tema statement
Tema statementTema statement
Tema statement
 
Ado.net
Ado.netAdo.net
Ado.net
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Programación 3 jk base de datos sql
Programación 3 jk base de datos sqlProgramación 3 jk base de datos sql
Programación 3 jk base de datos sql
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 

Más de Fiorella Aguilar Isuiza (20)

Mineria de datos
Mineria de datosMineria de datos
Mineria de datos
 
Admnistracion de la seguridad
Admnistracion de la seguridadAdmnistracion de la seguridad
Admnistracion de la seguridad
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Triggr
TriggrTriggr
Triggr
 
Universidad politecnica amazonica
Universidad politecnica amazonicaUniversidad politecnica amazonica
Universidad politecnica amazonica
 
Vistas
VistasVistas
Vistas
 
Comando ddl
Comando ddlComando ddl
Comando ddl
 
Blog transact sql
Blog transact sqlBlog transact sql
Blog transact sql
 
Ejecutablenetbeans
EjecutablenetbeansEjecutablenetbeans
Ejecutablenetbeans
 
Reportes
ReportesReportes
Reportes
 
Jdbc
JdbcJdbc
Jdbc
 
Sqlcommand
SqlcommandSqlcommand
Sqlcommand
 
Objeto connectio.docx
Objeto connectio.docxObjeto connectio.docx
Objeto connectio.docx
 
Espacio de nombres system.data.sql client
Espacio de nombres system.data.sql clientEspacio de nombres system.data.sql client
Espacio de nombres system.data.sql client
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor
GestorGestor
Gestor
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
Reportes
ReportesReportes
Reportes
 
preparedStatement
preparedStatementpreparedStatement
preparedStatement
 

Último

texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxCeciliaGuerreroGonza1
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 

Último (20)

texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
6° SEM30 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020Razonamiento Matemático 1. Deta del año 2020
Razonamiento Matemático 1. Deta del año 2020
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 

java con base de datos

  • 1. JAVA CON BASE DE DATOS INTEGRANTES:  FIORELLA AGUILAR ISUIZA  RAUL AARON DELGADO ESPARRAGA Prof: Marco Aurelio Porro Chulli
  • 2. Prof: Marco Aurelio Porro Chulli JAVA CON BASE DATO Java permite conectarse a bases de datos usando SQL-92 (Structured Query Language). La gran ventaja de esta utilidad es que una BD. Puede migrarse y aún ser vista con el mismo programa Java. Usualmente, una aplicación con acceso a BD. Se programa en un lenguaje propietario y sobre un sistema manejador de BD propietario. La API Java para el manejo de Bases de Datos es JDBC (¿Java DataBase Connectivity?). Este modelo no es una derivación de ODBC (Open DataBase Connectivity). JDBC está escrito en Java. ODBC está escrito en C. En esencia, la idea es la misma: un programa dialoga con el JDBC driver manager quien a su vez se comunica con un controlador particular. JDBC es una interface hacia SQL, el lenguaje común de todas las BD relacionales modernas.
  • 3. Prof: Marco Aurelio Porro Chulli CONEXIÓN: Vista Preliminar Un objeto Connection representa una conexión con una base de datos. Una Sesión de conexión incluye las sentencias SQL que se ejecutan y los resultados que son devueltos después de la conexión. Una única aplicación puede tener una o más Conexiones con una única base de datos, o puede tener varias conexiones con varias bases de datos diferentes.
  • 4. APERTURA DE UNA CONEXIÓN LA FORMA ESTÁNDAR DE ESTABLECER UNA CONEXIÓN A LA BASE DE DATOS ES MEDIANTE LA LLAMADA AL MÉTODO DRIVERMANAGER.GETCONNECTION. ESTE MÉTODO TOMA UNA CADENA QUE CONTIENE UNA URL. LA CLASE DRIVERMANAGER, REFERIDA COMO LA CAPA DE GESTIÓN JDBC, INTENTA LOCALIZAR UN DRIVER QUE PUEDA CONECTAR CON LA BASE DE DATOS REPRESENTADA POR LA URL. LA CLASE DRIVERMANAGER MANTIENE UNA LISTA DE CLASES DRIVER REGISTRADAS Y CUANDO SE LLAMA AL MÉTODO GETCONNECTION, SE CHEQUEA CON CADA DRIVER DE LA LISTA HASTA QUE ENCUENTRA UNO QUE PUEDA CONECTAR CON LA BASE DE DATOS ESPECIFICADA EN LA URL. EL MÉTODO CONNECT DE DRIVER USA ESTA URL PARA ESTABLECER LA CONEXIÓN. Prof: Marco Aurelio Porro Chulli
  • 5. Prof: Marco Aurelio Porro Chulli Uso general de URL’s Dado que URL’s causan a menudo cierta confusión, daremos primero una breve explicación de URL en general y luego entraremos en una discusión sobre URL’s de JDBC. Una URL (Uniform Resource Locator) da información para localizar un recurso en Internet. Puede pensarse en ella como una dirección. La primera parte de una URL especifica el protocolo usado para acceder a la información y va siempre seguida por dos puntos. Algunos protocolos comunes son ftp, que especifica “file transfer protocol” y http que especifica “hypertext transfer protocol”. Si el protocolo es “file” indica que el recurso está en un sistema de ficheros local mejor que en Internet: veamos unos ejemplos: ftp://javasoft.com/docs/JDK-1_apidocs.zip http://java.sun.com/products/jdk/CurrentRelease file:/home/haroldw/docs/books/tutorial/summary.html
  • 6. Prof: Marco Aurelio Porro Chulli JDBC y URL’s Una URL JDBC suministra una forma de identificar una base de datos para que el driver apropiado pueda reconocerla y establecer la conexión con ella. Los Desarrolladores de drivers son los que determinan actualmente que JDBC URL Identifica su driver particular. Los usuarios no tienen por qué preocuparse sobre Como se forma una URL JDBC; ellos simplemente usan la URL suministrada con el driver que usan. El rol de JDBC es recomendar algunas convenciones a los fabricantes de drivers para su uso. Dado que los JDBC URL se usan con varios tipos de drivers, las convenciones son necesariamente muy flexibles. Primero, permiten a diferentes drivers usar diferentes esquemas para nombrar las bases de datos. EL subprotocolo odbc, por ejemplo, permite que las URL contengan valores de atributos (pero no los requieren).
  • 7. Prof: Marco Aurelio Porro Chulli LA CLASE Statement 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.
  • 8. Prof: Marco Aurelio Porro Chulli 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. Por ejemplo: ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table2");
  • 9. Prof: Marco Aurelio Porro Chulli 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 está 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.
  • 10. Prof: Marco Aurelio Porro Chulli 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.
  • 11. Prof: Marco Aurelio Porro Chulli 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.
  • 12. Prof: Marco Aurelio Porro Chulli Sintaxis de Escape SQL en objetos Statement Los objetos Statement pueden contener sentencias SQL que usen sintaxis de escape SQL. La sintaxis de escape señala al driver que el código que lleva debe ser tratado diferentemente. El driver buscará por cualquier sintaxis de escape y lo traducirá en código que entiende la base de datos en particular. Esto hace que la sintaxis de escape sea independiente de la DBMS y permite al programador usar características que de otro modo no estarían disponibles.Una cláusula de escape se enmarca entre llaves y tiene una palabra clave: {keyword . . . parameters . . . }
  • 13. Prof: Marco Aurelio Porro Chulli LA CLASE ResultSet Un ResultSet contiene todas las filas que satisfacen las condiciones de una sentencia SQL y proporciona el acceso a los datos de estas filas mediante un conjunto de métodos get que permiten el acceso a las diferentes columnas de la filas. El método ResultSet.next se usa para moverse a la siguiente fila del result set, convirtiendo a ésta en la fila actúal. El formato general de un result set es una tabla con cabeceras de columna y los valores correspondientes devueltos por la ‘query’. Por ejemplo, si la ‘query’ es SELECT a, b, c FROM Table1, el resultado tendrá una forma semejante a :
  • 14. Prof: Marco Aurelio Porro Chulli Filas y Cursores Un ResultSet mantiene un cursor que apunta a la fila actúal de datos. El cursor se mueve una fila hacia abajo cada vez que se llama al método next. Incialmente se sitúa antes de la primera fila, por lo que hay que llamar al método next para situarlo en la primera fila conviertiendola en la fila actúal. Las filas de ResultSet se recuperan en secuencia desde la fila más alta a la más baja. Un cursor se mantiene válido hasta que el objeto Resultset o su objeto padre Statement se cierra.
  • 15. Prof: Marco Aurelio Porro Chulli Columnas Los métodos getXXX suministran los medios para recuperar los valores de las columnas de la fila actúal. Dentro de cada fila, los valores de las columnas pueden recuperarse en cualquier orden, pero para asegurar la máxima portabilidad, deberían extraerse las columnas de izquierda a derecha y leer los valores de la columnas una única vez. Puede usarse o bien el nombre de la columna o el número de columna para referirse a esta. Por ejemplo: si la columna segunda de un objeto RecordSet rs se denomina “title” y almacena valores de cadena, cualquiera de los dos ejemplos siguientes nos devolverá el valor almacenado en la columna. String s = rs.getString("title"); String s = rs.getString(2);
  • 16. Prof: Marco Aurelio Porro Chulli Valores resultado NULL Para determinar si un valor resultado dado es JDBC NULL, primero debe intentarse leer la columna y usar el método ResultSet.wasNull para descubrir si el valor devuelto es JDBC NULL Cuando se ha leido un JDBC NULL usando uno de los métodos ResultSet.getXXX, el método wasNull devuelve algo de lo siguiente:  Un valor null de Java para aquellos métodos getXXX que devuelven objetos Java (tales como getString, getBigDecimal, getBytes, getDate, getTime, getTimestamp, getAsciiStream, getUnicodeStream, getBinaryStream, getObject).  Un valor cero para getByte, getShort, getInt, getLong, getFloat y getDouble.  Un valor false para getBoolean.
  • 17. Prof: Marco Aurelio Porro Chulli