Sei sulla pagina 1di 35

Spring - MyBatis - JSF2

Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Acerca de Spring - MyBatis - JSF2


Esta aplicacin basada en Spring Framework 3 se apoya en la capa del modelo con el framework MyBatis 3 y en la capa del control vista con el framework JavaServer Faces 2.1, muestra por lo tanto la integracin de de los 3 framework para dar solucin CRUD (mantenimientos) a una base de datos en MySQL 5.5 de nombre dbnobel, las tablas en ella son: nobel y paises. Para el desarrollo se usa el IDE NetBeans 7.1.2 con jdk1.7up04 El diagrama entidad relacin de dbnobel es:

La base de datos se llama dbnobel y su script, as como todas las fuentes de la aplicacin sern entregados con esta separata. El proyecto tendr la siguiente presentacin inicial para el men Nobel:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Consideraciones para el desarrollo del proyecto


Para el desarrollo del proyecto considerar lo siguiente: Debe tener instalado Java Standard Edition. La versin a la fecha es JDK 7 Update 4. Si gusta ms informacin al respecto puede ver nuestra separata gratuita JDK 7 Update 2 Instalacin. Debe tener instalado MySQL. La versin a la fecha es MySQL 5.5. Si gusta ms informacin al respecto puede ver nuestra separata gratuita MySQL 5.5 Instalacin. Debe tener instalado NetBeans 7.1.2. Si gusta ms informacin al respecto puede ver nuestra separata gratuita NetBeans 7.1 - Instalacin.

El nivel de la separata es avanzado en conocimientos de Java y NetBeans.

Consideraciones a www.parainformaticos.com
Si al seguir las instrucciones de esta separata encuentra diferencias o puntos no mencionados, la informacin que nos pueda proporcionar es muy importante, a fin de hacer las mejoras continuas para la entera satisfaccin de nuestros lectores. Puede entrar http://www.parainformaticos.com y desde all escribirnos, adems encontrar otras separatas como esta y otros servicios.

Ejecucin del script dbnobel.sql


Crear la base de datos dbnobel, para poder ejecutar el script dbnobel.sql que viene con esta separata. Para ello activar la ficha Services de NetBeans, si no estuviese visible, revise el men Window, desde all la puede hacer visible. Entonces, en la ficha Services clic derecho sobre MySQL Server y seleccione Create Database, en el dilogo que se muestra digite dbnobel. Una vez creada la base de datos dbnobel, active el men File / Open File de NetBeans y abra el archivo dbnobel.sql.

Del combo Connection seleccione la conexin a la base de datos dbnobel y clic en el cono Run SQL como muestra la figura encima de este texto. Entonces la base de datos dbnobel con las tablas nobel y paises han sido creadas.

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Desarrollo del proyecto SpringMyBatisJSF2


En NetBeans 7.1.2 crear el proyecto SpringMyBatisJSF2 de categora Java Web / Web Application para el servidor Apache Tomcat 7.0.22 con Java EE 6 Web:

En paso seleccin del framework, seleccione Spring Web MVC:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Luego seleccionar JavaServer Faces y en la ficha Libraries seleccione: JSF 2.1:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com) Luego, de la ficha Components de JavaServer faces seleccione PrimeFaces 2.2.1:

En el nodo Libraries aadir mybatis-3.0.5.jar, mybatis-spring-1.0.1.jar y pepper-grinder-1.0.1.jar (entregados con esta separata). Tambin, aadir el driver de MySQL (MySQL JDBC Driver). As se vera el nodo Libraries con lo aadido:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Crear /WEB-INF/jdbc.properties con el siguiente contenido:

En el archivo anterior se ha considerado usuario root con password mysql.

Editar el archivo applicationContext.xml para la conectividad con la base de datos:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com) Asimismo, crear en la carpeta WEB-INF el archivo faces-config.xml dando clic derecho sobre WEB-INF / New / Others / JavaServer Faces / JSF Faces Configurations y edite con el siguiente contenido para que JavaServer Faces sea el controlador:

Editar el archivo web.xml en el folder WEB-Pages / WEB-INF, para iniciar con index.xhtml y usar el tema de PrimeFaces pepper-grinder:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Eliminar el archivo redirect.jsp en Web Pages y la carpeta WEB-INF / jsp. Vista de Web Pages sera:

Hasta el momento ya tenemos acceso a conexiones a base de datos por Spring y MyBatis y el control vista est establecido para JavaServer Faces por lo tanto corresponde seguir la secuencia siguiente: 1. 2. 3. 4. 5. 6. Crear los Objetos de dominio (Object Domain) Crear la interfaces y XML de mapeo a las tablas de la base de datos Crear la interfaces de servicios Crear las implementaciones de los servicios Crear los bean administrados (ManagedBean) de JavaServer Faces Las vistas de la aplicacin.

A esta secuencia en paralelo se desarrollan configuraciones en: applicationContext.xml para aprovechar las caractersticas funcionales de Spring.

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

1. Crear los Object Domain: Paises y Nobel


Los objetos de dominio o de negocios contienen data encapsulada para uso de las diferentes capas de la aplicacin. Crear en el paquete domain los objetos de dominio Paises y Nobel:

17/09/2010

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

10

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

2. Crear la interfaces y XML de mapeo: PaisesMapper y NobelMapper


En lugar de codificar DAOs (data access objects) Mybatis-Spring proporciona una factora de proxies permitiendo inyectar mappers directamente en otros beans. Los mappers se invocan de la misma forma que los DAOs, pero MyBatis-Spring los crear. Al usar mappers inyectados el cdigo no tendr dependencias directas de MyBatis, Spring o MyBatisSpring. El proxy creado se encarga de crear y cerrar sesiones. Crear en el paquete mybatis.mapper las interfaces PaisesMapper y NobelMapper con el siguiente contenido:

17/09/2010

11

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Crear en el paquete mybatis.mapper los archivos PaisesMapper.xml y NobelMapper:

17/09/2010

12

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Corresponde en el archivo applicationContext.xml generar la configuracin de inyeccin para que NobelMapper y PaisesMapper reciban el objeto sqlSessionFactory para sus operaciones.

17/09/2010

13

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

3. Crear las interfaces: PaisesService y NobelService


Corresponde planificar los servicios, ya que solo queremos operaciones CRUD. Entonces, el paquete service crear las interfaces PaisesService y NobelService:

17/09/2010

14

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

4. Crear las implementaciones: PaisesServiceImpl y NobelServiceImpl


En el paquete service.impl crear PaisesServiceImpl y NobelServiceImpl:

17/09/2010

15

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

16

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

17

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Corresponde en el archivo applicationContext.xml generar la configuracin de inyeccin para que PaisesServiceImpl y NobelServiceImpl reciban sus respectivos Mapper para sus operaciones.

17/09/2010

18

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

5. Crear los ManagedBean: ManagedBeanPaises y ManagedBeanNobel


Llegando a la parte final de la programacin por el lado del servidor, corresponde crear en el paquete web.managedbean a los manipuladores del flujo de operaciones: ManagedBeanPaises y ManagedBeanNobel

17/09/2010

19

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

20

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

21

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

22

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

23

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

24

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

25

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

26

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com) Corresponde en el archivo applicationContext.xml generar la configuracin de inyeccin para que ManagedBeanPaises y ManagedBeanNobel reciban sus respectivos servicios para sus operaciones.

La estructura del nodo Source Pages se ver:

17/09/2010

27

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

6. Las vistas de la aplicacin


Ahora corresponde dedicarnos a la vista de la aplicacin, por lo tanto empecemos copiando la carpeta css (proporcionada con esta separata) al nodo Web Pages:

Luego, en el archivo index.xhtml digite lo siguiente:

El formulario (form) del body lo convertiremos en componente de composicin, por lo tanto seleccione todo el formulario, clic derecho sobre l, escoja Refactor / Convert To Composite Component:

17/09/2010

28

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Del dilogo emergente llene los siguientes campos:

El archivo index.xhml quedar convertido a lo siguiente, despus que importe xmlns:ez y quite xmlns:p:

17/09/2010

29

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com) La carpeta resources es creada por proceso anterior. El nodo Web Pages se ver as:

Por ltimo copie mensaje.xhtml y la carpeta view proporcionadas con esta separata:

Contenido de nobel.xhml vista en la primera pgina de esta separata:

17/09/2010

30

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

17/09/2010

31

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com) Contenido de paises.xhml

17/09/2010

32

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Vista:

17/09/2010

33

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com) Contenido de nobelIns.xhml

17/09/2010

34

Spring - MyBatis - JSF2


Por: Ing. Vctor M. Balta Alva (vbalta@parainformaticos.com)

Salida:

Puede ejecutar su proyecto!

Gracias por leer nuestras Separatas! Para Informticos facilita tu aprendizaje!

17/09/2010

35

Potrebbero piacerti anche