Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

unidades:10_servidor:05_basededatos [2014/09/01 13:52]
admin [Ejemplo]
unidades:10_servidor:05_basededatos [2014/09/02 23:31] (actual)
admin [Interfaz DAO]
Línea 137: Línea 137:
 } }
  
-SeguroMedicoDAO <​|.. ​SeguroMedicoImplJDBC+SeguroMedicoDAO <​|.. ​SeguroMedicoDAOImplJDBC
 </​uml>​ </​uml>​
  
Línea 143: Línea 143:
  
 <sxh xml> <sxh xml>
-    <bean class="​es.cursohibernate.basedatos.persistencia.impl.SeguroMedicoImplJDBC" />+    <bean class="​es.cursohibernate.basedatos.persistencia.impl.SeguroMedicoDAOImplJDBC" />
 </​sxh>​ </​sxh>​
  
-Ya que la clase ''​SeguroMedicoImplJDBC''​ se encontrará en el paquete ''​es.cursohibernate.basedatos.persistencia.impl''​.+Ya que la clase ''​SeguroMedicoDAOImplJDBC''​ se encontrará en el paquete ''​es.cursohibernate.basedatos.persistencia.impl''​.
  
 Ahora en los controladores de Spring ya podremos hacer lo siguiente Ahora en los controladores de Spring ya podremos hacer lo siguiente
Línea 187: Línea 187:
  
 Para aclarar mas el ejemplo vamos a hacer un pequeño resumen de los cambios en el proyecto respecto al ejemplo del tema anterior: Para aclarar mas el ejemplo vamos a hacer un pequeño resumen de los cambios en el proyecto respecto al ejemplo del tema anterior:
-  * Se han añadido las clases referidas al modelo de datos:+  * Se han añadido las siguientes ​clases referidas al modelo de datos:
     * SeguroMedico     * SeguroMedico
     * Coberturas     * Coberturas
     * Enfermedades     * Enfermedades
     * Sexo     * Sexo
-  * Se han añadido las clase para el acceso a datos mediante el DAO+  * Se han añadido las siguientes clases ​para el acceso a datos mediante el DAO
     * SeguroMedicoDAO     * SeguroMedicoDAO
     * SeguroMedicoDAOImplJDBC     * SeguroMedicoDAOImplJDBC
Línea 198: Línea 198:
     * BussinessMessage     * BussinessMessage
   * Se ha modificado el fichero ''​applicationContext.xml''​ para poder inyectar la clase ''​SeguroMedicoDAOImplJDBC''​   * Se ha modificado el fichero ''​applicationContext.xml''​ para poder inyectar la clase ''​SeguroMedicoDAOImplJDBC''​
-  * Se ha modificado el fichero ''​context.xml''​ para añadir ​el pool de conexiones+  * Se ha modificado el fichero ''​context.xml''​ para configurara ​el pool de conexiones.
   * Se ha instalado la base de datos junto con la tabla ''​seguromedico''​   * Se ha instalado la base de datos junto con la tabla ''​seguromedico''​
-  * Se han reorganizado los uaquetes ​Java para que se organicen según la siguiente estructura:​ +  * Se han reorganizado los paquetes ​Java para que se organicen según la siguiente estructura:​ 
-    * Paquete ''​modelo'':​ Las clases con el modelo de datos +    * Paquete ''​modelo'':​ Las clases con el modelo de datos. Ej. ''​SeguroMedico''​ 
-    * Paquete ''​persistencia'':​ Las clase que permiten acceder a la base de datos como por ejemplo la clase DAO.+    * Paquete ''​persistencia'':​ Las clase que permiten acceder a la base de datos. Ej. ''​SeguroMedicoDAO''​.
     * Paquete ''​presentacion'':​ Todo lo referido a Web y REST , como el controlador,​ la clases de JSON ,etc.     * Paquete ''​presentacion'':​ Todo lo referido a Web y REST , como el controlador,​ la clases de JSON ,etc.
  
-Por último hemos modificado ​+Se muestra ahora la imagen con la estructura del proyecto:
  
-<sxh java>+{{:​unidades:​10_servidor:​estructura_proyecto.png?​nolink|}} 
 + 
 +<note tip> 
 +Los paquetes Java empiezan por ''​es.cursohibernate.basedatos''​ ya que este proyecto es para configurar todo lo relativo a la base de datos. No confundirlo con los paquetes para acceso a datos que aqui se llaman ''​persistencia''​ 
 +</​note>​ 
 + 
 +Por último hemos modificado el controlador para usar ahora como ejemplo la clase del modelo ''​SeguroMedico''​ en vez de la clase ''​Usuario'',​ haciendo los siguientes cambios: 
 +  * El controlador ahora se llama ''​SeguroMedicoController''​ y ahora se accede a él mediante la URL [[http://​localhost:​8084/​basedatos/​api/​SeguroMedico]]. 
 +  * Hemos usado el DAO para obtener los datos realmente de la base de datos en vez de ponerlos directamente en el código como se hacía en el tema anterior. 
 + 
 +El código Java de ''​SeguroMedicoController''​ es el siguiente:​ 
 +<sxh java;​title:​SeguroMedicoController.java;​highlight:​ [7,8,12]>
 @Controller @Controller
 public class SeguroMedicoController { public class SeguroMedicoController {
Línea 226: Línea 237:
 } }
 </​sxh>​ </​sxh>​
 +  * Línea 7: Esta línea le dice a Spring que debe buscar una implementación del interfaz que hay a continuación y asignarle una instancia a la propiedad.
 +  * Línea 8: Declaramos ahora la propiedad privada seguroMedicoDAO pero no indicamos el objeto que lo implementa. Spring inyectará una instancia de la clase ''​es.cursohibernate.basedatos.persistencia.impl.SeguroMedicoDAOImplJDBC''​ tal y como lo hemos definido en el fichero ''​applicationContext.xml''​
 +  * Línea 12: Hacemos uso del DAO para obtener los datos del seguro médico identificado por el ''​IdSeguroMedico=1''​.
 +
 +Si ahora navegamos a la URL [[http://​localhost:​8084/​basedatos/​api/​SeguroMedico]] se mostrará lo siguiente:
 +  {"​idSeguro":​1,"​nif":"​12345678Z","​nombre":"​Patata","​ape1":"​Cano","​edad":​41,"​sexo":"​H","​casado":​true,"​numHijos":​3,"​embarazada":​false,"​coberturas":"​oftalmologia":​true,"​dental":​false,"​fecundacionInVitro":​false},"​enfermedades":​{"​corazon":​true,"​estomacal":​false,"​rinyones":​false,"​alergia":​true,"​nombreAlergia":"​Acaros"​}}
  
 <​note>​ <​note>​
Línea 231: Línea 248:
 </​note>​ </​note>​
 ===== Referencias ===== ===== Referencias =====
 +  * [[http://​cursohibernate.es/​doku.php|Curso de Hibernate con Spring]]
 +  * [[http://​cursohibernate.es/​doku.php?​id=unidades:​01_introduccion_orm:​03_mysql|Instalar MySQL]]
 +  * [[http://​cursohibernate.es/​doku.php?​id=unidades:​01_introduccion_orm:​05_driver_mysql|Driver JDBC de MySQL]]
 +  * [[http://​cursohibernate.es/​doku.php?​id=patrones:​pool_conexiones|Pool de conexiones]]
 +  * [[http://​cursohibernate.es/​doku.php?​id=unidades:​07_arquitectura:​00_start|Arquitectura]]
 +  * [[http://​cursohibernate.es/​doku.php?​id=unidades:​07_arquitectura:​03_dao|DAO]]
unidades/10_servidor/05_basededatos.1409572337.txt.gz · Última modificación: 2014/09/01 13:52 por admin
Ir hasta arriba
CC Attribution-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0