SlideShare una empresa de Scribd logo
1 de 38
BASE DE DATOS
CAPITULO 3
SESIÓN 1
Ing. Verónica Chimbo. MSc.
Docente
CONEXIÓN A BASE DE DATOS
TEMARIO
1. Introducción
2. JDBC
3. Drivers
4. Conexión
5. Consultas
6. JPA
7. ORM
8. Ejercicio Práctico
9. Reportes
1. Introducción
Qué es la Programación Visual? La programación visual brinda los conocimientos
necesarios para diseñar y desarrollar aplicaciones
con un entorno visual amigable y fácil de utilizar
para el usuario.
Permite separar una
aplicación en 3 capas,
una forma de organizar y
de hacer escalable un
proyecto.
Sirve para clasificar la información, la
lógica del sistema y la interfaz que se le
presenta al usuario.
Permiten tener el código
bien organizado, legible y mantenible,
además te permite reutilizar código y
aumenta la escalabilidad en tu proyecto.
Patrón de Diseño
Model View
Controller o
MVC
1. Introducción
2. JDBC
JDBC es el API de Java para acceder a sistemas de
gestión de bases de datos (SGBD)
Al hacer uso del API nos va a permitir cambiar de SGBD
sin modificar nuestro código
JDBC es una especie de “puente” entre nuestro
programa Java y el SGBD
Para acceder a una BD necesitamos un driver específico
Cada BD suele disponer de un API de acceso propietario
Si usamos ese API, un cambio en la BD provocaría cambios en nuestro código
El driver es específico para esa BD, al cambiar la BD sólo tenemos que cambiar el driver
El driver traduce la llamada JDBC en la correspondiente llamada al API de la BD
3. Drivers
3. Drivers
Tipos de drivers
Tipo 1: Puente JDBC-ODBC
Tipo 2: Parte Java, parte driver nativo
3. Drivers
Tipos de drivers
Tipo 3: Servidor intermediario de acceso a BD
Tipo 4: Drivers Java
3. Drivers
Instalación de drivers
4. Conexión
4. Conexión
jdbc:oracle:thin:@localhost:1521:SID","USER","PASS")
4. Conexión
5. Consultas
5. Consultas
5. Consultas
5. Consultas
5. Consultas
Ejemplos.
6. JPAApi de Persistencia de Java
Es la propuesta Estándar de Java para
realizar la persistencia de objetos en base
de Datos (ORM)
6. JPAApi de Persistencia de Java
ORM (Object Relational Mapping)
Puente entre los Objetos y una base de
Datos.
5. Java Persistence API
Durante muchos años en la plataforma J2EE han existido distintos
frameworks de persistencia como Ibatis, Hibernate , EclipseLink.
IBATIS EclipseLink
Hibernate Spring JDBC
Frameworks de
Persistencia
Cada uno de estos frameworks de persistencia han utilizado una
filosofía propia a la hora de decidir de qué forma se almacena la
información en la base de datos. De este amplio conjunto de
frameworks hay un subconjunto que son frameworks ORM (Object
Relational Mapping) como EclipseLink e Hibernate. Algunos otros
frameworks no pueden ser incluidos dentro de esta categoría, caso de
IBatis o Spring JDBC, que no realizan un mapeo propiamente dicho.
Java Persistence API
Java Persistence API
Mapeo de entidades de persistencia.
Es el API de JPA que permite asociar Entidades (clases Java) a tablas
de base de datos por medio de anotaciones con la finalidad de
trabajar con base de datos relacionales pero en un ambiente de
objetos; y así abstraiga al desarrollador de los diversos detalles
propios de cada manejador de base de datos por medio de un modelo
estándar de trabajo (Framework de persistencia).
Tecnologías de Mapeo
VS
Formas de Mapeo
Mediante Hibérnate.
Hibernate es una tecnología de mapeo objeto-relacional (ORM) para la plataforma
Java que facilita el mapeo de atributos entre una base de datos relacional tradicional
y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o
anotaciones en los beans de las entidades que permiten establecer estas relaciones.
Programación
Mediante EclipseLink.
Es una tecnología de servicios de persistencia de fuente abierta de la Fundación Eclipse.
Proporciona un marco extensible que permite a los desarrolladores de Java interactuar
con diversos servicios de datos, incluidas bases de datos, servicios web, mapeo Object
XML (OXM) y Enterprise Information Systems (EIS).
EclipseLink admite una serie de estándares de persistencia que incluyen:
•API Java Persistence (JPA).
•Arquitectura Java para Enlace XML (JAXB).
•Arquitectura de conector de Java (JCA).
•Service Data Objects (SDO).
Para ampliar la información sobre el uso y aplicación de JPA, consulta en la wiki oficial
de eclipse, concretamente el artículo relacionado a EclipseLink que se encuentra en el
siguiente enlace:
http://wiki.eclipse.org/EclipseLink/Examples/JPA/JSF_Tutorial#Tutorial:_Build_a_Web_
Application_.28JSF.29_Using_JPA
Programación
Contenido Refuerzo:
VS
Programación
¿Cual Elegir……?
Anotaciones y Entidades
¿Qué es una Anotación ?
Son metadatos que nos permiten acceder a ellos en tiempo de
ejecución. Los metadatos se pueden llegar a usar como variables
internas para modificar el comportamiento del flujo del programa.
¿Como se puede considerar una clase Entidad?
Una clase de Java para que pueda se considerada una entidad debe
tener una anotación llamada @Entity.
Entidades
Una clase con la anotación @Entity debe cumplir con:
• Ser una clase de alto nivel, es decir no debe ser una clase anidada o
inerte.
• Tener un constructor público o protegido sin argumentos.
• No ser final, ni tener métodos o variables de instancia final.
• Implementar la interfaz Serializable, si se requiere transferir o
almacenar el objeto.
• Declarar sus variables de instancia como privadas o protegidas,
accesibles mediante métodos get y set.
Fuera de las restricciones vistas anteriormente sobre @Entity puede
extender otras clases e implementar cualquier interfaz, puede contener
constructores, métodos y campos con cualquier modificador de
acceso(visibilidad), además de poder ser clases concretas o
abstractas.
Importante:
Trabajo en clases
Realizar una infografía sobre JPA vs JDBC
Ventajas y Desventajas
Ejercicio Práctico
Modelo: Esta capa representa todo lo que tiene que ver con el
acceso a datos: guardar, actualizar, obtener datos, además todo el
código de la lógica del negocio, básicamente son las clases Java y
parte de la lógica de negocio.
Vista: La vista tiene que ver con la presentación de datos del
modelo y lo que ve el usuario, por lo general una vista es la
representación visual de un modelo .
Controlador: El controlador es el encargado de conectar el modelo
con las vistas, funciona como un puente entre la vista y el modelo,
el controlador recibe eventos generados por el usuario desde las
vistas y se encargar de direccionar al modelo la petición respectiva.
Herramientas para la práctica con Mysql
Xampp
Mysql Workbeanch
Netbeans
Librerias para el diseño
Bibliografía
Deitel, H. M. (2016). Java: como programar.
Bascón Pantoja, E. (2004). El patrón de diseño Modelo-Vista-Controlador (MVC) y su
implementación en Java Swing. Acta Nova, 2(4), 493-507.
Ding, Y. H., Liu, C. H., & Tang, Y. X. (2012). MVC pattern based on JAVA. In Applied Mechanics and
Materials (Vol. 198, pp. 537-541). Trans Tech Publications Ltd.
Fernández, O. B. (2005). Introducción al lenguaje de programación Java. Una guía básica, 9.
Gracias

Más contenido relacionado

Similar a Conexión a Base de Datos con JDBC y JPA

Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernateDamian Palacios
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdfssuser4d255e
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Renan Cayao
 
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020Laura Noussan Lettry
 
[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)Eudris Cabrera
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacionkaolong
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver FulgueraJavier Oliver Fulguera
 
Introducción Spring Framework
Introducción Spring FrameworkIntroducción Spring Framework
Introducción Spring Frameworkecontinua
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2Laura Noussan Lettry
 
Presentación no numerica ii
Presentación no numerica iiPresentación no numerica ii
Presentación no numerica iiCarlos Ordaz
 

Similar a Conexión a Base de Datos con JDBC y JPA (20)

Trabajo desarrollo de soft.
Trabajo desarrollo de soft.Trabajo desarrollo de soft.
Trabajo desarrollo de soft.
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Motor de persistencia nhibernate
Motor de persistencia nhibernateMotor de persistencia nhibernate
Motor de persistencia nhibernate
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Frameworks Java
Frameworks JavaFrameworks Java
Frameworks Java
 
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
5.- PPT 2023 03 U01 T03 Lenguaje de Programación I (SP1891).pdf
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 
Manejo conexbd
Manejo conexbdManejo conexbd
Manejo conexbd
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 2 -2020
 
[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)
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacion
 
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
Aplicaciones web con jakarta struts  - Javier Oliver FulgueraAplicaciones web con jakarta struts  - Javier Oliver Fulguera
Aplicaciones web con jakarta struts - Javier Oliver Fulguera
 
Introducción Spring Framework
Introducción Spring FrameworkIntroducción Spring Framework
Introducción Spring Framework
 
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
POOABD (POO Aplicada a B Datos) - API JDBC - Parte 2
 
Spring
SpringSpring
Spring
 
Framework spring
Framework springFramework spring
Framework spring
 
Jdbc
JdbcJdbc
Jdbc
 
Presentación no numerica ii
Presentación no numerica iiPresentación no numerica ii
Presentación no numerica ii
 

Último

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 

Último (20)

KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 

Conexión a Base de Datos con JDBC y JPA

  • 2. Ing. Verónica Chimbo. MSc. Docente
  • 3. CONEXIÓN A BASE DE DATOS
  • 4. TEMARIO 1. Introducción 2. JDBC 3. Drivers 4. Conexión 5. Consultas 6. JPA 7. ORM 8. Ejercicio Práctico 9. Reportes
  • 5. 1. Introducción Qué es la Programación Visual? La programación visual brinda los conocimientos necesarios para diseñar y desarrollar aplicaciones con un entorno visual amigable y fácil de utilizar para el usuario.
  • 6. Permite separar una aplicación en 3 capas, una forma de organizar y de hacer escalable un proyecto. Sirve para clasificar la información, la lógica del sistema y la interfaz que se le presenta al usuario. Permiten tener el código bien organizado, legible y mantenible, además te permite reutilizar código y aumenta la escalabilidad en tu proyecto. Patrón de Diseño Model View Controller o MVC 1. Introducción
  • 7. 2. JDBC JDBC es el API de Java para acceder a sistemas de gestión de bases de datos (SGBD) Al hacer uso del API nos va a permitir cambiar de SGBD sin modificar nuestro código JDBC es una especie de “puente” entre nuestro programa Java y el SGBD
  • 8. Para acceder a una BD necesitamos un driver específico Cada BD suele disponer de un API de acceso propietario Si usamos ese API, un cambio en la BD provocaría cambios en nuestro código El driver es específico para esa BD, al cambiar la BD sólo tenemos que cambiar el driver El driver traduce la llamada JDBC en la correspondiente llamada al API de la BD 3. Drivers
  • 9. 3. Drivers Tipos de drivers Tipo 1: Puente JDBC-ODBC Tipo 2: Parte Java, parte driver nativo
  • 10. 3. Drivers Tipos de drivers Tipo 3: Servidor intermediario de acceso a BD Tipo 4: Drivers Java
  • 20. 6. JPAApi de Persistencia de Java Es la propuesta Estándar de Java para realizar la persistencia de objetos en base de Datos (ORM)
  • 21. 6. JPAApi de Persistencia de Java ORM (Object Relational Mapping) Puente entre los Objetos y una base de Datos.
  • 22. 5. Java Persistence API Durante muchos años en la plataforma J2EE han existido distintos frameworks de persistencia como Ibatis, Hibernate , EclipseLink. IBATIS EclipseLink Hibernate Spring JDBC Frameworks de Persistencia
  • 23. Cada uno de estos frameworks de persistencia han utilizado una filosofía propia a la hora de decidir de qué forma se almacena la información en la base de datos. De este amplio conjunto de frameworks hay un subconjunto que son frameworks ORM (Object Relational Mapping) como EclipseLink e Hibernate. Algunos otros frameworks no pueden ser incluidos dentro de esta categoría, caso de IBatis o Spring JDBC, que no realizan un mapeo propiamente dicho. Java Persistence API
  • 24. Java Persistence API Mapeo de entidades de persistencia. Es el API de JPA que permite asociar Entidades (clases Java) a tablas de base de datos por medio de anotaciones con la finalidad de trabajar con base de datos relacionales pero en un ambiente de objetos; y así abstraiga al desarrollador de los diversos detalles propios de cada manejador de base de datos por medio de un modelo estándar de trabajo (Framework de persistencia).
  • 26. Formas de Mapeo Mediante Hibérnate. Hibernate es una tecnología de mapeo objeto-relacional (ORM) para la plataforma Java que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) o anotaciones en los beans de las entidades que permiten establecer estas relaciones.
  • 27. Programación Mediante EclipseLink. Es una tecnología de servicios de persistencia de fuente abierta de la Fundación Eclipse. Proporciona un marco extensible que permite a los desarrolladores de Java interactuar con diversos servicios de datos, incluidas bases de datos, servicios web, mapeo Object XML (OXM) y Enterprise Information Systems (EIS). EclipseLink admite una serie de estándares de persistencia que incluyen: •API Java Persistence (JPA). •Arquitectura Java para Enlace XML (JAXB). •Arquitectura de conector de Java (JCA). •Service Data Objects (SDO).
  • 28. Para ampliar la información sobre el uso y aplicación de JPA, consulta en la wiki oficial de eclipse, concretamente el artículo relacionado a EclipseLink que se encuentra en el siguiente enlace: http://wiki.eclipse.org/EclipseLink/Examples/JPA/JSF_Tutorial#Tutorial:_Build_a_Web_ Application_.28JSF.29_Using_JPA Programación Contenido Refuerzo:
  • 30. Anotaciones y Entidades ¿Qué es una Anotación ? Son metadatos que nos permiten acceder a ellos en tiempo de ejecución. Los metadatos se pueden llegar a usar como variables internas para modificar el comportamiento del flujo del programa.
  • 31. ¿Como se puede considerar una clase Entidad? Una clase de Java para que pueda se considerada una entidad debe tener una anotación llamada @Entity. Entidades
  • 32. Una clase con la anotación @Entity debe cumplir con: • Ser una clase de alto nivel, es decir no debe ser una clase anidada o inerte. • Tener un constructor público o protegido sin argumentos. • No ser final, ni tener métodos o variables de instancia final. • Implementar la interfaz Serializable, si se requiere transferir o almacenar el objeto. • Declarar sus variables de instancia como privadas o protegidas, accesibles mediante métodos get y set.
  • 33. Fuera de las restricciones vistas anteriormente sobre @Entity puede extender otras clases e implementar cualquier interfaz, puede contener constructores, métodos y campos con cualquier modificador de acceso(visibilidad), además de poder ser clases concretas o abstractas. Importante:
  • 34. Trabajo en clases Realizar una infografía sobre JPA vs JDBC Ventajas y Desventajas
  • 35. Ejercicio Práctico Modelo: Esta capa representa todo lo que tiene que ver con el acceso a datos: guardar, actualizar, obtener datos, además todo el código de la lógica del negocio, básicamente son las clases Java y parte de la lógica de negocio. Vista: La vista tiene que ver con la presentación de datos del modelo y lo que ve el usuario, por lo general una vista es la representación visual de un modelo . Controlador: El controlador es el encargado de conectar el modelo con las vistas, funciona como un puente entre la vista y el modelo, el controlador recibe eventos generados por el usuario desde las vistas y se encargar de direccionar al modelo la petición respectiva.
  • 36. Herramientas para la práctica con Mysql Xampp Mysql Workbeanch Netbeans Librerias para el diseño
  • 37. Bibliografía Deitel, H. M. (2016). Java: como programar. Bascón Pantoja, E. (2004). El patrón de diseño Modelo-Vista-Controlador (MVC) y su implementación en Java Swing. Acta Nova, 2(4), 493-507. Ding, Y. H., Liu, C. H., & Tang, Y. X. (2012). MVC pattern based on JAVA. In Applied Mechanics and Materials (Vol. 198, pp. 537-541). Trans Tech Publications Ltd. Fernández, O. B. (2005). Introducción al lenguaje de programación Java. Una guía básica, 9.