SlideShare a Scribd company logo
1 of 28
Ronald Cuello
Prerrequisitos Para realizar este ejemplo sencillo ,voy a utilizar el IDE Netbeans versión 6.8 por que es la versión que tengo instalada en mi maquina, aunque también pueden realizar esta configuración en versiones 6.0 hacia arriba. Y como motor de base de datos ,MySQL Listo empecemos a configurar JPA!!!
 
Creación Base de datos Para nuestro ejemplo, se necesita crear una base de datos de prueba, y una tabla llamada  PERSONAS.
Código SQL para crear la tabla DROP TABLE IF EXISTS  `pruebas`.`personas` ; CREATE TABLE  `pruebas`.`personas` (  `id` int(11)  NOT NULL AUTO_INCREMENT ,  `nombres` varchar(255)  NOT NULL ,  `apellidos` varchar(255)  NOT NULL ,  `salario` double  NOT NULL ,  `edad` int(11 ) NOT NULL ,  PRIMARY KEY  (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
 
Creando el Proyecto Seleccionamos como plantilla  “Java Application”  para realizar nuestra consola de pruebas Le agregamos un nombre a nuestro proyecto,en este caso sera “ PersistenciaApp”  y le damos finish. Archivos generados por el IDE. Nada raro aun
Creando y configurando unidad de persistencia
Configurando Persistence Unit Para iniciar la configuración de JPA en nuestro proyecto lo primero que debemos hacer es crear el archivo persistence.xml ,para hacer esto miremos como se hace : Click derecho sobre el proyecto, New -> Other ->persistence->Persistence Unit
Configurando Persistence unit Seleccionamos el nombre a nuestra unidad de persistencia y también en este apartado indicamos con que ORM vamos a trabajar,Hibernate para nuestro ejemplo. Configuramos nuestra conexión a nuestra base de datos
Configurando cadena de conexión Establecemos todos los parámetros de conexión a nuestra base de datos. Cuando este todo configurado le damos FINISH
Configurando Persistence Unit Luego de configurar la unidad de persistencia a través de Netbeans, nos agregara en las librerías todo lo necesario para usar JPA con Hibernate,ademas crea la Carpeta META-INF y le anexa el archivo de configuración persistence.xml.
Creando una entidad persistente
Creando una entidad persistente (Previamente he creado un paquete llamado  com.model  para agrupar mis clases de negocio.) Para crear una entidad persistente lo vamos hacer de una tabla ya creada, en este caso ,la tabla Persona, para esto hacemos lo siguiente : Click derecho sobre el paquete com.model,luego New -> Other ->persistence-> EntityClasses from Database
Creando una entidad persistente Seleccionamos nuestra cadena de conexión creada previamente . Son todas las tablas que nos arroja la conexión Serán las tablas que se convertirán en clases persistentes. En este caso vamos a convertir la tabla  Personas  a una clase persistente llamada  Persona  con sus anotaciones.
Creando una entidad persistente Especificamos el nombre de nuestra entidad y su localización Configuramos las diferentes opciones de mapeo como por ejemplo el tipo de asociaciones, con que interfaz se manejaran las colecciones,etc.
Creando una entidad persistente El resultado de este proceso es una clase con una serie de atributos anotados y propiedades :
Creando un JPA Controller
Creando un JPA controller (Previamente he creado un paquete llamado  com.dao  para agrupar mi capa de acceso a datos .) Para crear un controlador debemos hacer lo siguiente : Click derecho sobre el paquete com.dao,luego New -> Other ->persistence-> Jpa controller classe from Entity classes
Creando un JPA controller Seleccionamos la entidad persistente a la que le vamos a crear su controlador de acceso a datos. Le damos siguiente y Listo.
Creando un JPA controller Luego de terminar de configurar nuestro controlador ,Netbeans nos genera un paquete nuevo llamado com.dao.exceptions ,que serán las excepciones que lanzara nuestro controlador en caso de que ocurra un error. (Métodos y atributos del controlador generado)
Agregar driver de conexión Para terminar de configurar el proyecto faltaría por agregar el jar de conexión a MYSQL
Veamos el resultado
En la vida real No se si han dado cuenta, pero cuando netbeans nos genera un controlador, este controlador en su constructor inicializa el motor de persistencia, es decir, sí creamos varias instancias de este controlador se inicializa varias veces el motor haciendo nuestra aplicación pesada y lenta. Para resolver esto lo podemos hacer de varias formas : usando Spring,aplicando patrón singleton en los controladores o centralizando el EntityManagerFactory en una clase de utilerías. Para este ejemplo usare una clase de utilería que me centralice el entityMangerFactory.
Creando clase de utileria
Código fuente package com.util; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; /** * * @author Ronald Cuello */ public class JpaUtil { private static final EntityManagerFactory emf; static{ try{ emf=Persistence.createEntityManagerFactory("PersistenciaAppPU"); }catch(Throwable t){ System.out.println("Error a inicializar el Entity Manager Factory "+t); t.printStackTrace(); throw new ExceptionInInitializerError(); } } public static EntityManagerFactory getEntityManagerFactory(){ return emf; } }
Modificando controlador Hacemos la corrección en el constructor por la clase que acabamos de crear Listo eso es todo amigos……
Nos vemos Agradecer no cuesta nada ;) Para mas información sobre JPA visita mi blog Ronaldcuello.blogspot.com

More Related Content

What's hot

Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresqlCarlos Anrango
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportjbersosa
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datosjbersosa
 
Tutorial de persistencia de java
Tutorial de persistencia de javaTutorial de persistencia de java
Tutorial de persistencia de javaCarlos Anrango
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
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 gioRobert Wolf
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportjbersosa
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportjbersosa
 
Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Henry Mendoza Puerta
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbcjbersosa
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 javajbersosa
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javaNey Rogger Miranda
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLpablo
 
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 gioRobert Wolf
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportjbersosa
 

What's hot (20)

Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresql
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper report
 
Persistencia jpa
Persistencia jpaPersistencia jpa
Persistencia jpa
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datos
 
Tutorial de persistencia de java
Tutorial de persistencia de javaTutorial de persistencia de java
Tutorial de persistencia de java
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
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
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
 
Tema 6
Tema 6Tema 6
Tema 6
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /java
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQL
 
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
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper report
 

Similar to Configuración JPA Netbeans MySQL

Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontesjalzate
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jspjujuju12
 
Entity Framework ó Linq SQL - Visual Studio 2012
Entity Framework  ó  Linq SQL - Visual Studio 2012Entity Framework  ó  Linq SQL - Visual Studio 2012
Entity Framework ó Linq SQL - Visual Studio 2012Naim Jhon Cruzado Paredes
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónPattzy Montero
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01Jenny Zambrana
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxssuser2e6b96
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Ciencias
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLT.I.C
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii1 2d
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 

Similar to Configuración JPA Netbeans MySQL (20)

JPA en NetBeans
JPA en NetBeansJPA en NetBeans
JPA en NetBeans
 
Trabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserverTrabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserver
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
 
Reportes
ReportesReportes
Reportes
 
Conexión de Base de Datos
Conexión de Base de DatosConexión de Base de Datos
Conexión de Base de Datos
 
Entity Framework ó Linq SQL - Visual Studio 2012
Entity Framework  ó  Linq SQL - Visual Studio 2012Entity Framework  ó  Linq SQL - Visual Studio 2012
Entity Framework ó Linq SQL - Visual Studio 2012
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD Conexión
 
Java
JavaJava
Java
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01
 
IREPORT
IREPORTIREPORT
IREPORT
 
Practica 4
Practica 4Practica 4
Practica 4
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
Mysql java
Mysql javaMysql java
Mysql java
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
 
Configuracion del Entorno
Configuracion del EntornoConfiguracion del Entorno
Configuracion del Entorno
 
Notas clase
Notas claseNotas clase
Notas clase
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
Notas clase
Notas claseNotas clase
Notas clase
 

Recently uploaded

El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
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
 
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
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
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
 
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
 
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
 
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
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
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
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
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
 
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
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Recently uploaded (20)

El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
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
 
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...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
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
 
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
 
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
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
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)
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
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...
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
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
 
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
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Configuración JPA Netbeans MySQL

  • 2. Prerrequisitos Para realizar este ejemplo sencillo ,voy a utilizar el IDE Netbeans versión 6.8 por que es la versión que tengo instalada en mi maquina, aunque también pueden realizar esta configuración en versiones 6.0 hacia arriba. Y como motor de base de datos ,MySQL Listo empecemos a configurar JPA!!!
  • 3.  
  • 4. Creación Base de datos Para nuestro ejemplo, se necesita crear una base de datos de prueba, y una tabla llamada PERSONAS.
  • 5. Código SQL para crear la tabla DROP TABLE IF EXISTS `pruebas`.`personas` ; CREATE TABLE `pruebas`.`personas` ( `id` int(11) NOT NULL AUTO_INCREMENT , `nombres` varchar(255) NOT NULL , `apellidos` varchar(255) NOT NULL , `salario` double NOT NULL , `edad` int(11 ) NOT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
  • 6.  
  • 7. Creando el Proyecto Seleccionamos como plantilla “Java Application” para realizar nuestra consola de pruebas Le agregamos un nombre a nuestro proyecto,en este caso sera “ PersistenciaApp” y le damos finish. Archivos generados por el IDE. Nada raro aun
  • 8. Creando y configurando unidad de persistencia
  • 9. Configurando Persistence Unit Para iniciar la configuración de JPA en nuestro proyecto lo primero que debemos hacer es crear el archivo persistence.xml ,para hacer esto miremos como se hace : Click derecho sobre el proyecto, New -> Other ->persistence->Persistence Unit
  • 10. Configurando Persistence unit Seleccionamos el nombre a nuestra unidad de persistencia y también en este apartado indicamos con que ORM vamos a trabajar,Hibernate para nuestro ejemplo. Configuramos nuestra conexión a nuestra base de datos
  • 11. Configurando cadena de conexión Establecemos todos los parámetros de conexión a nuestra base de datos. Cuando este todo configurado le damos FINISH
  • 12. Configurando Persistence Unit Luego de configurar la unidad de persistencia a través de Netbeans, nos agregara en las librerías todo lo necesario para usar JPA con Hibernate,ademas crea la Carpeta META-INF y le anexa el archivo de configuración persistence.xml.
  • 13. Creando una entidad persistente
  • 14. Creando una entidad persistente (Previamente he creado un paquete llamado com.model para agrupar mis clases de negocio.) Para crear una entidad persistente lo vamos hacer de una tabla ya creada, en este caso ,la tabla Persona, para esto hacemos lo siguiente : Click derecho sobre el paquete com.model,luego New -> Other ->persistence-> EntityClasses from Database
  • 15. Creando una entidad persistente Seleccionamos nuestra cadena de conexión creada previamente . Son todas las tablas que nos arroja la conexión Serán las tablas que se convertirán en clases persistentes. En este caso vamos a convertir la tabla Personas a una clase persistente llamada Persona con sus anotaciones.
  • 16. Creando una entidad persistente Especificamos el nombre de nuestra entidad y su localización Configuramos las diferentes opciones de mapeo como por ejemplo el tipo de asociaciones, con que interfaz se manejaran las colecciones,etc.
  • 17. Creando una entidad persistente El resultado de este proceso es una clase con una serie de atributos anotados y propiedades :
  • 18. Creando un JPA Controller
  • 19. Creando un JPA controller (Previamente he creado un paquete llamado com.dao para agrupar mi capa de acceso a datos .) Para crear un controlador debemos hacer lo siguiente : Click derecho sobre el paquete com.dao,luego New -> Other ->persistence-> Jpa controller classe from Entity classes
  • 20. Creando un JPA controller Seleccionamos la entidad persistente a la que le vamos a crear su controlador de acceso a datos. Le damos siguiente y Listo.
  • 21. Creando un JPA controller Luego de terminar de configurar nuestro controlador ,Netbeans nos genera un paquete nuevo llamado com.dao.exceptions ,que serán las excepciones que lanzara nuestro controlador en caso de que ocurra un error. (Métodos y atributos del controlador generado)
  • 22. Agregar driver de conexión Para terminar de configurar el proyecto faltaría por agregar el jar de conexión a MYSQL
  • 24. En la vida real No se si han dado cuenta, pero cuando netbeans nos genera un controlador, este controlador en su constructor inicializa el motor de persistencia, es decir, sí creamos varias instancias de este controlador se inicializa varias veces el motor haciendo nuestra aplicación pesada y lenta. Para resolver esto lo podemos hacer de varias formas : usando Spring,aplicando patrón singleton en los controladores o centralizando el EntityManagerFactory en una clase de utilerías. Para este ejemplo usare una clase de utilería que me centralice el entityMangerFactory.
  • 25. Creando clase de utileria
  • 26. Código fuente package com.util; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; /** * * @author Ronald Cuello */ public class JpaUtil { private static final EntityManagerFactory emf; static{ try{ emf=Persistence.createEntityManagerFactory(&quot;PersistenciaAppPU&quot;); }catch(Throwable t){ System.out.println(&quot;Error a inicializar el Entity Manager Factory &quot;+t); t.printStackTrace(); throw new ExceptionInInitializerError(); } } public static EntityManagerFactory getEntityManagerFactory(){ return emf; } }
  • 27. Modificando controlador Hacemos la corrección en el constructor por la clase que acabamos de crear Listo eso es todo amigos……
  • 28. Nos vemos Agradecer no cuesta nada ;) Para mas información sobre JPA visita mi blog Ronaldcuello.blogspot.com