1
00:00:00,180 --> 00:00:04,290
En esta clase les voy a mostrar cómo implementar el editar cliente.

2
00:00:04,410 --> 00:00:12,900
Vamos a ir al controlador y tenemos que tener un método muy parecido al crear, pero editar en el caso

3
00:00:12,900 --> 00:00:18,930
de crear, lo que hacemos es crear la instancia de un nuevo objeto cliente y se lo pasamos a la vista.

4
00:00:19,020 --> 00:00:24,120
En el caso del editar habría que ir a buscarlo a la base de datos con todos sus datos y mostrarlo en

5
00:00:24,120 --> 00:00:24,660
el formulario.

6
00:00:24,720 --> 00:00:31,080
Entonces lo que tenemos que hacer es modificar la interfaz y la clase dado para poder obtener el cliente.

7
00:00:31,080 --> 00:00:40,800
Por Saidi Public va a retornar un solo cliente y el método le vamos a llamar Fin Huan buscar uno solo

8
00:00:40,920 --> 00:00:44,100
y vamos a buscar por su Heidy del tipo Log.

9
00:00:45,080 --> 00:00:49,770
Ahí tenemos el método en la interfaz que tenemos que implementar en la clase dado.

10
00:00:49,830 --> 00:00:55,170
Entonces, por supuesto, como estamos implementando la interfaz cliente dado implemente marca un error

11
00:00:55,650 --> 00:01:00,900
por sobre el nombre de la clase muestra la opción para implementar el método.

12
00:01:01,860 --> 00:01:08,250
Implementar este método es bastante simple con él antes de manager, ya que sería con el método Find

13
00:01:08,670 --> 00:01:18,210
que incluye JPA el manager y acá le damos el nombre de la clase, lo obtenemos con cliente toclas y

14
00:01:18,210 --> 00:01:19,410
le damos el Heidy.

15
00:01:20,010 --> 00:01:26,520
Entonces de forma automática JPA va a la base Dato y nos entrega el objeto cliente y por supuesto queda

16
00:01:26,610 --> 00:01:30,270
manejado dentro del contexto de persistencia.

17
00:01:31,020 --> 00:01:35,010
Ahí tenemos implementado la clases DAO y su interfaz.

18
00:01:35,370 --> 00:01:37,980
Ahora tenemos que implementar el controlador.

19
00:01:38,220 --> 00:01:48,600
Vamos primero a implementar el mapping, entonces sería un Recuesto Mapping Value y la wireless sería

20
00:01:48,660 --> 00:01:51,390
exactamente la misma, pero con el Heidy.

21
00:01:51,480 --> 00:01:57,690
Entonces acá le pasamos un patrón que también se le conoce como Wildcat, que va a tener un Heidy que

22
00:01:57,690 --> 00:02:00,060
sería un parámetro de la ruta.

23
00:02:00,120 --> 00:02:06,330
La idea es mantener la misma °l pero acá para el editar sería con el parámetro Heidy

24
00:02:10,170 --> 00:02:12,480
El método en realidad es bastante parecido,

25
00:02:18,660 --> 00:02:19,650
bastante parecido.

26
00:02:19,770 --> 00:02:29,130
Entonces tenemos que pasar el Heidy como argumento en el método editar sería un path variable que maneja

27
00:02:29,190 --> 00:02:29,700
Spring.

28
00:02:31,800 --> 00:02:32,940
La vamos a importar.

29
00:02:33,030 --> 00:02:37,620
Es una anotación para que no inyecte el valor del parámetro de la ruta.

30
00:02:37,890 --> 00:02:39,210
Le damos el nombre.

31
00:02:41,700 --> 00:02:46,590
El nombre del parámetro se tiene que llamar exactamente igual acá y acá.

32
00:02:46,710 --> 00:02:54,000
El tipo de dato sería long y la variable vamos a retornar el mismo formulario que el crear.

33
00:02:55,170 --> 00:02:58,740
Vamos a validar Leidy que exista, que sea mayor que cero.

34
00:03:01,710 --> 00:03:07,800
Bien, entonces vamos a tener un cliente igual null.

35
00:03:11,530 --> 00:03:16,780
Y si el Heidy es mayor que 0, lo vamos a buscar a la base a través del daho

36
00:03:19,450 --> 00:03:21,430
buscar 1, fueen Huan?

37
00:03:21,670 --> 00:03:26,990
Lo obtenemos Hells en caso de que sea igual a cero.

38
00:03:28,540 --> 00:03:35,000
Acá podríamos redirigir al dictado más que nada de seguridad.

39
00:03:38,140 --> 00:03:39,110
Vamos a Liter.

40
00:03:39,250 --> 00:03:42,160
Si no se está todo bien, retornamos al formulario.

41
00:03:42,220 --> 00:03:48,360
Ahora también es importante pasar los datos a la vista, no del punto put.

42
00:03:48,820 --> 00:03:56,710
Vamos a pasar el cliente mismo nombre cliente que creer y el valor cliente.

43
00:04:00,740 --> 00:04:01,440
Y el título

44
00:04:06,540 --> 00:04:07,380
Editar Cliente.

45
00:04:07,680 --> 00:04:10,920
Ahí tenemos implementado el método Editar en el controlador.

46
00:04:11,490 --> 00:04:16,800
Guardamos y vamos a la vista listar para crear el link hacia el editor.

47
00:04:21,080 --> 00:04:28,190
Después de fecha tenemos que tener una acción, editar y acá vamos a agregar el link.

48
00:04:29,690 --> 00:04:31,290
Vamos a tener una wireless.

49
00:04:35,000 --> 00:04:37,910
Acá vamos a tener la ruta hacia el editÃ.

50
00:04:38,000 --> 00:04:43,140
Recuerden que con el arroba, la llaves es el hard for celaje.

51
00:04:43,280 --> 00:04:49,760
Entonces vamos a concatenar acá con signo más, con el signo pesos, con la llaves y el cliente.

52
00:04:49,840 --> 00:04:54,470
Ahí el cliente y tenemos que dar un valor.

53
00:04:54,560 --> 00:05:04,700
Vamos a cerrar, la editas, podemos colocar el editar acá o bien con la forma de tamblin TH 2 punto

54
00:05:05,360 --> 00:05:05,770
text.

55
00:05:07,190 --> 00:05:12,290
Como es un string se puede usar comilla simple, editar, guardar y ahí tenemos.

56
00:05:12,350 --> 00:05:14,030
Y también le podemos dar estilos.

57
00:05:22,180 --> 00:05:28,600
Usando vostra kedamos estilos con un estilo de botón más pequeño para los link en la tabla y también

58
00:05:28,600 --> 00:05:34,390
podemos agregar esta misma clase o estilo a la RL crear acá arriba.

59
00:05:34,870 --> 00:05:42,810
Pero antes le vamos a colocar un párrafo y le agregamos el botón en vez de primary default.

60
00:05:45,590 --> 00:05:46,220
Ahí estamos.

61
00:05:46,730 --> 00:05:50,390
Entonces vamos a ejecutar el proyecto.

62
00:05:59,800 --> 00:06:00,300
Distar.

63
00:06:01,310 --> 00:06:04,890
Ahí tenemos el botón Editar y el botón Crear cliente.

64
00:06:05,050 --> 00:06:05,560
Sigamos.

65
00:06:05,590 --> 00:06:11,590
Al editar volvemos al cliente Editar Ñon y acá muestra los datos.

66
00:06:12,270 --> 00:06:14,290
Entonces está funcionando bien.

67
00:06:14,350 --> 00:06:21,820
Ahora lo que faltaría algún mecanismo para actualizar enlace auto implementar en la clase dado el insertar,

68
00:06:21,910 --> 00:06:24,940
si es que Leydi es igual a cero o nula.

69
00:06:25,000 --> 00:06:29,630
En caso de que Leydi no exista y actualizar cuando el Heidy es mayor que cero.

70
00:06:29,710 --> 00:06:35,500
Por eso en el formulario agregamos un campo idén con el valor de Leidy.

71
00:06:35,620 --> 00:06:40,850
Entonces cuando se crea un nuevo cliente en el crear viene con el Heidy null.

72
00:06:41,380 --> 00:06:43,210
Recordemos que Leydi del tipo lonko.

73
00:06:43,450 --> 00:06:45,590
Por lo tanto en ningún lugar se asigna.

74
00:06:46,090 --> 00:06:49,270
Pero cuando viene desde la base dato viene con el Heidy.

75
00:06:49,510 --> 00:06:55,630
Entonces a través del campo hidden Heidy ahí sabemos si tenemos que insertar o actualizar.

76
00:06:55,720 --> 00:06:58,510
Depende si Leydi es mayor que cero o no?

77
00:06:58,600 --> 00:07:01,420
Y también pregunta que sea distinto de nulo.

78
00:07:02,020 --> 00:07:09,640
Entonces en el Saif vamos a cambiar acá y vamos a preguntar si y cliente punto get Heidy.

79
00:07:10,300 --> 00:07:15,790
Primero que sea distinto del nulo y después que el que taide

80
00:07:18,610 --> 00:07:19,860
sea mayor que cero.

81
00:07:20,290 --> 00:07:25,900
Entonces si el Heidy es distinto, nulo y mayor que cero, entonces vamos a editar.

82
00:07:25,960 --> 00:07:29,800
Para eso usamos el método merge.

83
00:07:30,940 --> 00:07:35,910
Lo que hace es actualizar los datos existente Hells.

84
00:07:37,030 --> 00:07:45,070
Si no hacemos un persisto, el persis lo que hace es crear un nuevo cliente, lo inserta y lo Tazza

85
00:07:45,160 --> 00:07:50,740
al contexto de persistencia, el merge, lo Tazza al contexto y lo actualiza y lo actualiza.

86
00:07:50,770 --> 00:07:59,980
Si el Heidy existe en La Aceto, entonces con ese pequeño cambio ya podemos modificar por ejemplo.

87
00:08:03,640 --> 00:08:05,080
Andres, Jose, ahi lo cambia.

88
00:08:09,720 --> 00:08:11,290
Y también pueden crear un nuevo cliente

89
00:08:23,200 --> 00:08:27,970
inserta y veamos en Krom el tema del jirÃn Heidy.

90
00:08:28,510 --> 00:08:36,520
Entonces qué derecho ver código fuente y veamos el endi acá el input given Heidy es igual a 1.

91
00:08:39,310 --> 00:08:40,120
En ñames.

92
00:08:42,580 --> 00:08:43,480
Es igual a tres.

93
00:08:44,170 --> 00:08:44,870
Está perfecto.

94
00:08:45,870 --> 00:08:49,320
Ahora vamos a crear un nuevo cliente y vemos el Leydi.

95
00:08:49,480 --> 00:08:51,760
El Heidy es nulo.

96
00:08:52,940 --> 00:08:53,960
Viene sin valor.

97
00:08:55,190 --> 00:09:02,120
Hoy sabemos si insertamos o actualizamos una segunda alternativa en vez de usar el Hidden Heidy, lo

98
00:09:02,120 --> 00:09:03,350
podríamos quitar.

99
00:09:04,880 --> 00:09:08,240
Podríamos usar sesiones, por ejemplo, en el controlador.

100
00:09:08,720 --> 00:09:15,350
Vamos a usar sesión atributo session atributos líente.

101
00:09:15,590 --> 00:09:18,590
Indicamos que se va a guardar en los atributos de la sesión.

102
00:09:18,680 --> 00:09:25,580
El objeto cliente mapeado al formulario cada vez que se invoca el crear o editar una petición GET va

103
00:09:25,580 --> 00:09:27,200
a obtener el objeto cliente.

104
00:09:27,410 --> 00:09:31,340
Lo guarda en la sesión en los atributos de la sesión y lo pasa a la vista.

105
00:09:31,430 --> 00:09:33,740
Ya en la vista queda dentro de la sesión.

106
00:09:33,800 --> 00:09:41,510
Por lo tanto, el Heidy y todos sus datos queda persistente hasta que se envíe al método Guardar y acá

107
00:09:41,570 --> 00:09:48,270
se tienen que eliminar la sesión la eliminamos con concesion status.

108
00:09:50,570 --> 00:09:58,010
Entonces después de guardar del sabe lo que hacemos es status punto complete set completo.

109
00:09:58,110 --> 00:10:04,130
Entonces al invocar el se complique va a eliminar el objeto cliente de la sesión y termina el proceso.

110
00:10:04,430 --> 00:10:07,690
El proceso de editar o del insertar.

111
00:10:07,850 --> 00:10:15,200
Entonces recuerden una muy buena práctica a diferencia del given Heidy es usar el cesion atributo es

112
00:10:15,230 --> 00:10:17,990
mucho más seguro y es una práctica más recomendada.

113
00:10:18,080 --> 00:10:24,890
Entonces podemos guardar el objeto del formulario dentro del sexto, un atributo solamente con implementar

114
00:10:24,980 --> 00:10:26,900
esta anotación sobre la clase.

115
00:10:27,290 --> 00:10:30,290
Guardamos y vamos a revisar.

116
00:10:31,400 --> 00:10:32,330
Vamos a editar.

117
00:10:36,970 --> 00:10:37,540
Perfecto,

118
00:10:48,340 --> 00:10:52,420
entonces está funcionando con el cesio atributo kedamos hasta acá.

119
00:10:52,510 --> 00:10:53,380
Hasta la próxima.
