1
00:00:00,330 --> 00:00:00,990
Bienvenidos.

2
00:00:01,080 --> 00:00:04,290
Hoy día vamos a trabajar con el objeto model propiamente tal.

3
00:00:04,410 --> 00:00:06,540
Vamos a ir a los pacato.

4
00:00:06,810 --> 00:00:10,460
Vamos a crear una carpeta models dentro de app.

5
00:00:12,510 --> 00:00:15,510
New рамках con click derecho en el paquete base.

6
00:00:16,500 --> 00:00:21,960
Es importante que estemos dentro del paquete fase, igual que controllers models.

7
00:00:23,810 --> 00:00:30,530
Y vamos a crear un POJO, una clase simple de Yaba, por ejemplo, usuario finalizarla.

8
00:00:31,930 --> 00:00:38,500
Bueno, un poco es una clase simple que contiene atributos para sus datos en el caso de usuario nombre,

9
00:00:38,500 --> 00:00:44,740
apellido y Himmel y sus respectivos métodos getter para poder acceder a este atributo, al valor y el

10
00:00:44,740 --> 00:00:51,220
set para poder modificar puede implementar interfaces como ser realizable, interfaces de Java propias

11
00:00:51,220 --> 00:00:57,700
del CÓR, pero no de algún framework, por ejemplo de Spring o de Internet, algún framework que acople

12
00:00:57,700 --> 00:00:58,330
esta clase.

13
00:00:58,510 --> 00:01:05,380
Básicamente la idea es que sea completamente desacoplar la de cualquier framework o API que no herede

14
00:01:05,470 --> 00:01:07,960
ni tampoco implementa ninguna interfaz externa.

15
00:01:08,440 --> 00:01:11,410
Bien, por ejemplo,

16
00:01:18,880 --> 00:01:19,900
nombre y apellido.

17
00:01:20,020 --> 00:01:20,920
Por ahora, simple.

18
00:01:21,220 --> 00:01:23,020
Vamos a crear los métodos getter y setter.

19
00:01:24,900 --> 00:01:25,660
Clic derecho.

20
00:01:25,680 --> 00:01:27,620
Source generar iete and cetas.

21
00:01:29,140 --> 00:01:39,010
Marcamos apellido y nombre, va a generar get y set por cada uno de forma automática y guardamos.

22
00:01:40,030 --> 00:01:41,560
Nos vamos a la clase controladora.

23
00:01:41,620 --> 00:01:45,670
Vamos a crear un método handler distinto para no utilizar el mismo.

24
00:01:47,050 --> 00:01:47,710
Vamos a variar.

25
00:01:47,770 --> 00:01:52,960
En vez de utilizar Get Mapping, utilizamos Request Mapping solamente para variar.

26
00:01:54,160 --> 00:01:55,930
También, si quieren, pueden utilizar GET.

27
00:01:56,050 --> 00:02:00,130
Da lo mismo perfil o detalle.

28
00:02:00,940 --> 00:02:08,650
Recuerden que por defecto, si no se indica el atributo método por defecto es nyet y no post ni cualquier

29
00:02:08,650 --> 00:02:09,490
otro guet

30
00:02:16,960 --> 00:02:19,390
retorna el nombre de la vista.

31
00:02:19,540 --> 00:02:25,240
Recuerden solamente el nombre lógico sin la extensión, la extensión, el punto HTML lo maneja por debajo

32
00:02:25,240 --> 00:02:30,730
de forma automática y lo va a ir a buscar siempre a recursos templates que es la raíz.

33
00:02:30,970 --> 00:02:36,910
Si la vista está en un directorio dentro de templates lo podemos indicar dentro del ratón.

34
00:02:36,970 --> 00:02:41,110
Por ejemplo, algún directorio es el large vista index

35
00:02:44,770 --> 00:02:45,340
perfil.

36
00:02:46,580 --> 00:02:54,740
Perfecto, entonces, a través del objeto model guardamos el usuario, le damos un nombre.

37
00:02:55,730 --> 00:02:59,600
Recordemos que con este mismo nombre lo tenemos que llamar invocar en la vista.

38
00:03:00,200 --> 00:03:01,640
Y acá pasamos el objeto usuario.

39
00:03:01,700 --> 00:03:04,310
La instancia, pero se instancia, la tenemos que crear.

40
00:03:11,030 --> 00:03:11,660
Perfecto.

41
00:03:11,720 --> 00:03:16,010
Pero obviamente hay que importar usuario, ya que está dentro del package Models.

42
00:03:17,880 --> 00:03:24,360
Y acá pasamos el objeto usuario, la instancia, pero bien, hasta el momento pasaríamos el objeto vacío

43
00:03:24,360 --> 00:03:26,730
en el fondo, sin el nombre, sin el, sin el apellido.

44
00:03:28,110 --> 00:03:33,480
Tenemos que pasar, asignar el nombre, por ejemplo.

45
00:03:38,910 --> 00:03:39,520
Perfecto.

46
00:03:39,660 --> 00:03:44,700
Si bien un ejemplo súper básico, pero ya estamos trabajando con un objeto, un objeto que representan

47
00:03:44,700 --> 00:03:45,930
datos de nuestra aplicación.

48
00:03:45,990 --> 00:03:52,920
En este caso el usuario ahora lo estamos creando de forma manual, pero básicamente en la práctica esta

49
00:03:52,920 --> 00:03:58,800
instancia viene de una consulta de la Rato, por ejemplo, utilizando Ornette JPA a través de una clase

50
00:03:58,800 --> 00:04:02,120
repository de un servis, cosas que vamos a ver después.

51
00:04:02,130 --> 00:04:05,910
Por ahora partamos desde lo simple para entender los conceptos.

52
00:04:06,510 --> 00:04:08,850
Entonces, para resumir, tenemos el controlador.

53
00:04:08,940 --> 00:04:11,550
Nuestro objeto de negocio, el modelo.

54
00:04:11,700 --> 00:04:13,140
Y se lo pasamos a la vista.

55
00:04:13,800 --> 00:04:15,510
Retornamos el nombre, la vista.

56
00:04:16,980 --> 00:04:19,740
Ahora tenemos que crear i.8 tml.

57
00:04:19,830 --> 00:04:23,820
Copiamos el nombre, pero vamos a guardar primero el controlador.

58
00:04:24,270 --> 00:04:25,320
Nos vamos a template.

59
00:04:25,440 --> 00:04:27,630
Clic derecho new otro.

60
00:04:29,050 --> 00:04:29,960
Buscamos web.

61
00:04:30,190 --> 00:04:31,120
HTML file.

62
00:04:31,310 --> 00:04:38,560
Siguiente y cambiamos el nombre por perfil punto html finalizarla perfecto, pero recordemos que las

63
00:04:38,560 --> 00:04:45,790
vistas detailed tiene que tener el enespecial, así que lo voy a copiar de index y lo pegamos acá.

64
00:04:46,810 --> 00:04:52,780
Cambiamos acá el chart set ate f8 el título cualquiera.

65
00:04:53,230 --> 00:04:55,480
Por ejemplo, vamos a index controlar.

66
00:04:56,050 --> 00:04:59,960
Vamos a copiar el modelo atributo título que tenemos en index.

67
00:05:01,060 --> 00:05:04,240
Lo pegamos acá, pero colocamos acá otra cosa

68
00:05:07,930 --> 00:05:13,900
y le concatenados con el método del string con catt usuario punto get nombre.

69
00:05:19,160 --> 00:05:23,210
Volvemos a Perfil acá, TDH, texto,

70
00:05:26,750 --> 00:05:29,720
título, también podríamos tener un H1

71
00:05:36,650 --> 00:05:42,410
acá faltó el espacio perfecto para bien, tenemos nuestra plantilla, tenemos que mostrar los datos

72
00:05:42,410 --> 00:05:42,890
del usuario.

73
00:05:43,370 --> 00:05:51,980
Por ejemplo, podríamos utilizar un span básicamente para mostrar en html un texto y dentro de este

74
00:05:51,980 --> 00:05:56,420
span th 2.y texto el valor.

75
00:05:56,600 --> 00:06:04,130
Bueno, cuál sería el valor si no peso las llaves y el objeto model del modelo que sería el usuario?

76
00:06:05,300 --> 00:06:11,810
Recuerden que se tienen que invocar con el mismo nombre, respetando mayúscula, minúscula, plurales,

77
00:06:11,870 --> 00:06:19,240
singulares, etc. Se tienen que llamar idéntico a como lo guardamos acá usuario en singular.

78
00:06:20,940 --> 00:06:21,330
Usuario.

79
00:06:21,540 --> 00:06:25,110
Pero quiero el nombre en el punto.

80
00:06:25,200 --> 00:06:31,050
Estamos accediendo a la propiedad nombre, pero a través del método GET por debajo e invocar el método

81
00:06:31,170 --> 00:06:32,040
Get nombre.

82
00:06:32,160 --> 00:06:38,550
A pesar de que solamente indicamos nombre como si fuera el atributo de la clase, omitiendo el iete,

83
00:06:39,600 --> 00:06:47,070
vamos a copiar, vamos a pegar a apellido y vamos a guardar.

84
00:06:47,730 --> 00:06:49,650
Vamos a levantar nuestra aplicación.

85
00:06:53,740 --> 00:06:55,570
Bien, acá tenemos app index.

86
00:06:55,690 --> 00:07:00,930
Si queremos ingresar al detalle del usuario sería app perfil.

87
00:07:01,840 --> 00:07:04,900
Recuerden que APP es para todos los método del controlador.

88
00:07:05,560 --> 00:07:11,740
Y si vemos el controlador, tenemos perfi app perfil perfil del usuario.

89
00:07:11,830 --> 00:07:13,600
3 Andrés Apellido.

90
00:07:14,410 --> 00:07:16,720
Bueno, acá le puse Andrés apellido.

91
00:07:18,190 --> 00:07:19,180
Lo cambiamos por Guzmán.

92
00:07:19,360 --> 00:07:20,050
Guardamos.

93
00:07:21,650 --> 00:07:27,650
Actualizamos perfecto, entonces estamos trabajando ya con un MBC simple, tal como vimos la clase anterior

94
00:07:27,740 --> 00:07:33,230
con este objeto, que es parte de la lógica negocio, pero lo vimos de forma simple para partir.

95
00:07:33,320 --> 00:07:40,370
Recuerda que tu objeto usuario en la práctica en un proyecto real, obviamente viene de la persistencia

96
00:07:40,490 --> 00:07:45,350
a través de una consulta en la auto utilizando JS o hiberna con JPA.

97
00:07:45,440 --> 00:07:45,860
En fin.

98
00:07:45,980 --> 00:07:52,580
Bueno, por ahora quedamos hasta acá y la próxima clase ya vemos las directivas de Time Life If para

99
00:07:52,700 --> 00:07:59,540
validar datos y forré para iterar una lista, por ejemplo, una lista de usuarios.

100
00:07:59,600 --> 00:08:02,270
Pero eso ya lo vemos más en detalle la próxima clase.

101
00:08:02,330 --> 00:08:04,400
Por ahora nada más nos vemos.
