SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

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
Robert Wolf
 
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
jbersosa
 
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
Henry Mendoza Puerta
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQL
pablo
 
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
Robert 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 report
jbersosa
 

La actualidad más candente (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 a JPA en Netbeans

Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
jalzate
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
jujuju12
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
ssuser2e6b96
 
Notas clase
Notas claseNotas clase
Notas clase
1 2d
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
1 2d
 
Notas clase
Notas claseNotas clase
Notas clase
1 2d
 

Similar a JPA en Netbeans (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
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

JPA en Netbeans

  • 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("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; } }
  • 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