En esta clase les voy a mostrar cómo implementar el editar cliente.
Vamos a ir al controlador y tenemos que tener un método muy parecido al crear, pero editar en el caso
de crear, lo que hacemos es crear la instancia de un nuevo objeto cliente y se lo pasamos a la vista.
En el caso del editar habría que ir a buscarlo a la base de datos con todos sus datos y mostrarlo en
el formulario.
Entonces lo que tenemos que hacer es modificar la interfaz y la clase dado para poder obtener el cliente.
Por Saidi Public va a retornar un solo cliente y el método le vamos a llamar Fin Huan buscar uno solo
y vamos a buscar por su Heidy del tipo Log.
Ahí tenemos el método en la interfaz que tenemos que implementar en la clase dado.
Entonces, por supuesto, como estamos implementando la interfaz cliente dado implemente marca un error
por sobre el nombre de la clase muestra la opción para implementar el método.
Implementar este método es bastante simple con él antes de manager, ya que sería con el método Find
que incluye JPA el manager y acá le damos el nombre de la clase, lo obtenemos con cliente toclas y
le damos el Heidy.
Entonces de forma automática JPA va a la base Dato y nos entrega el objeto cliente y por supuesto queda
manejado dentro del contexto de persistencia.
Ahí tenemos implementado la clases DAO y su interfaz.
Ahora tenemos que implementar el controlador.
Vamos primero a implementar el mapping, entonces sería un Recuesto Mapping Value y la wireless sería
exactamente la misma, pero con el Heidy.
Entonces acá le pasamos un patrón que también se le conoce como Wildcat, que va a tener un Heidy que
sería un parámetro de la ruta.
La idea es mantener la misma °l pero acá para el editar sería con el parámetro Heidy
El método en realidad es bastante parecido,
bastante parecido.
Entonces tenemos que pasar el Heidy como argumento en el método editar sería un path variable que maneja
Spring.
La vamos a importar.
Es una anotación para que no inyecte el valor del parámetro de la ruta.
Le damos el nombre.
El nombre del parámetro se tiene que llamar exactamente igual acá y acá.
El tipo de dato sería long y la variable vamos a retornar el mismo formulario que el crear.
Vamos a validar Leidy que exista, que sea mayor que cero.
Bien, entonces vamos a tener un cliente igual null.
Y si el Heidy es mayor que 0, lo vamos a buscar a la base a través del daho
buscar 1, fueen Huan?
Lo obtenemos Hells en caso de que sea igual a cero.
Acá podríamos redirigir al dictado más que nada de seguridad.
Vamos a Liter.
Si no se está todo bien, retornamos al formulario.
Ahora también es importante pasar los datos a la vista, no del punto put.
Vamos a pasar el cliente mismo nombre cliente que creer y el valor cliente.
Y el título
Editar Cliente.
Ahí tenemos implementado el método Editar en el controlador.
Guardamos y vamos a la vista listar para crear el link hacia el editor.
Después de fecha tenemos que tener una acción, editar y acá vamos a agregar el link.
Vamos a tener una wireless.
Acá vamos a tener la ruta hacia el editÃ.
Recuerden que con el arroba, la llaves es el hard for celaje.
Entonces vamos a concatenar acá con signo más, con el signo pesos, con la llaves y el cliente.
Ahí el cliente y tenemos que dar un valor.
Vamos a cerrar, la editas, podemos colocar el editar acá o bien con la forma de tamblin TH 2 punto
text.
Como es un string se puede usar comilla simple, editar, guardar y ahí tenemos.
Y también le podemos dar estilos.
Usando vostra kedamos estilos con un estilo de botón más pequeño para los link en la tabla y también
podemos agregar esta misma clase o estilo a la RL crear acá arriba.
Pero antes le vamos a colocar un párrafo y le agregamos el botón en vez de primary default.
Ahí estamos.
Entonces vamos a ejecutar el proyecto.
Distar.
Ahí tenemos el botón Editar y el botón Crear cliente.
Sigamos.
Al editar volvemos al cliente Editar Ñon y acá muestra los datos.
Entonces está funcionando bien.
Ahora lo que faltaría algún mecanismo para actualizar enlace auto implementar en la clase dado el insertar,
si es que Leydi es igual a cero o nula.
En caso de que Leydi no exista y actualizar cuando el Heidy es mayor que cero.
Por eso en el formulario agregamos un campo idén con el valor de Leidy.
Entonces cuando se crea un nuevo cliente en el crear viene con el Heidy null.
Recordemos que Leydi del tipo lonko.
Por lo tanto en ningún lugar se asigna.
Pero cuando viene desde la base dato viene con el Heidy.
Entonces a través del campo hidden Heidy ahí sabemos si tenemos que insertar o actualizar.
Depende si Leydi es mayor que cero o no?
Y también pregunta que sea distinto de nulo.
Entonces en el Saif vamos a cambiar acá y vamos a preguntar si y cliente punto get Heidy.
Primero que sea distinto del nulo y después que el que taide
sea mayor que cero.
Entonces si el Heidy es distinto, nulo y mayor que cero, entonces vamos a editar.
Para eso usamos el método merge.
Lo que hace es actualizar los datos existente Hells.
Si no hacemos un persisto, el persis lo que hace es crear un nuevo cliente, lo inserta y lo Tazza
al contexto de persistencia, el merge, lo Tazza al contexto y lo actualiza y lo actualiza.
Si el Heidy existe en La Aceto, entonces con ese pequeño cambio ya podemos modificar por ejemplo.
Andres, Jose, ahi lo cambia.
Y también pueden crear un nuevo cliente
inserta y veamos en Krom el tema del jirÃn Heidy.
Entonces qué derecho ver código fuente y veamos el endi acá el input given Heidy es igual a 1.
En ñames.
Es igual a tres.
Está perfecto.
Ahora vamos a crear un nuevo cliente y vemos el Leydi.
El Heidy es nulo.
Viene sin valor.
Hoy sabemos si insertamos o actualizamos una segunda alternativa en vez de usar el Hidden Heidy, lo
podríamos quitar.
Podríamos usar sesiones, por ejemplo, en el controlador.
Vamos a usar sesión atributo session atributos líente.
Indicamos que se va a guardar en los atributos de la sesión.
El objeto cliente mapeado al formulario cada vez que se invoca el crear o editar una petición GET va
a obtener el objeto cliente.
Lo guarda en la sesión en los atributos de la sesión y lo pasa a la vista.
Ya en la vista queda dentro de la sesión.
Por lo tanto, el Heidy y todos sus datos queda persistente hasta que se envíe al método Guardar y acá
se tienen que eliminar la sesión la eliminamos con concesion status.
Entonces después de guardar del sabe lo que hacemos es status punto complete set completo.
Entonces al invocar el se complique va a eliminar el objeto cliente de la sesión y termina el proceso.
El proceso de editar o del insertar.
Entonces recuerden una muy buena práctica a diferencia del given Heidy es usar el cesion atributo es
mucho más seguro y es una práctica más recomendada.
Entonces podemos guardar el objeto del formulario dentro del sexto, un atributo solamente con implementar
esta anotación sobre la clase.
Guardamos y vamos a revisar.
Vamos a editar.
Perfecto,
entonces está funcionando con el cesio atributo kedamos hasta acá.
Hasta la próxima.