1
00:00:00,270 --> 00:00:00,990
Bien, continuamos.

2
00:00:01,050 --> 00:00:06,660
Vamos a crear las clases de repositorio y también la clase modelo que representa los datos de la tabla.

3
00:00:06,780 --> 00:00:08,670
Esa es la clase de producto con los atributos.

4
00:00:08,930 --> 00:00:15,560
El Heidy, el nombre precio y la fecha mismos atributo que los campos en la tabla la acepta la idea

5
00:00:15,580 --> 00:00:21,900
mapear, mapear cada atributo a la tabla y en vez trabajar con registros con el cursor con el result

6
00:00:21,900 --> 00:00:28,410
set trabajar más orientÃ objeto con una clase un objeto come together método setter constructor.

7
00:00:28,560 --> 00:00:34,920
De hecho, hay un patrón de diseño que se le conoce como dataset object o acceso a datos siglas en inglés.

8
00:00:35,010 --> 00:00:40,980
El DAO es quien se encarga de acceder a los datos de las operaciones de la consulta implementarán CRUD.

9
00:00:41,130 --> 00:00:45,440
Pero el DAO también se le conoce como repositorio o repositorio.

10
00:00:45,780 --> 00:00:47,550
Más bien es una semántica mucho.

11
00:00:47,550 --> 00:00:50,580
Utilízalos los dado otro mucho utilizan el repositorio.

12
00:00:50,700 --> 00:00:52,140
La diferencia un poco más conceptual.

13
00:00:52,170 --> 00:00:58,140
Por ejemplo, el DAO se refiere a una abstracción de los datos de la persistencia, es decir, típicamente

14
00:00:58,230 --> 00:00:59,010
a todo lo que hace.

15
00:00:59,010 --> 00:01:00,690
Datos tablas del la aséate.

16
00:01:00,810 --> 00:01:06,270
Mientras que un repositorio es una atracción de una colección de objetos como si fuera el API colección

17
00:01:06,270 --> 00:01:06,570
de Java.

18
00:01:06,600 --> 00:01:11,100
Por ejemplo, cuando queremos obtener, cuando queremos agregar, cuando queremos guardar un objeto

19
00:01:11,100 --> 00:01:13,710
en la lista, cuando queremos eliminar un objeto, se fijan.

20
00:01:13,980 --> 00:01:19,530
Un repositorio al final es para implementar alta baja modificaciones de una colección de objetos.

21
00:01:19,620 --> 00:01:25,920
Entonces, claro, en la persistencia todo lo que es datos de una tabla, podríamos utilizar perfectamente

22
00:01:26,010 --> 00:01:29,250
el patrón de diseño DAO, ya que estamos trabajando.

23
00:01:29,310 --> 00:01:32,160
Orientarla la Z y es parte de la persistencia.

24
00:01:32,210 --> 00:01:36,150
Pero también estamos trabajando sobre una colección de objetos.

25
00:01:36,300 --> 00:01:41,910
Lo vamos a manejar 100 por ciento orientÃ objeto y también se podría pensar la tabla justamente como

26
00:01:42,000 --> 00:01:42,540
una lista.

27
00:01:42,540 --> 00:01:45,420
Una colección lo podría implementar con cualquiera, todos patrones.

28
00:01:45,460 --> 00:01:48,090
Pero la diferencia, como digo, es conceptual, una semántica.

29
00:01:48,450 --> 00:01:54,840
Bien, entonces primero tenemos que implementar dos cosas la interfaz del repositorio para los productos

30
00:01:54,960 --> 00:01:58,560
con los métodos del club para listar, para modificar, guardar.

31
00:01:58,590 --> 00:01:59,730
En fin, eliminar.

32
00:01:59,820 --> 00:02:06,480
Y también necesitamos la clase producto con los métodos que transceptor y los atributos comenzamos.

33
00:02:06,540 --> 00:02:12,480
Entonces vamos a crear primero la clase producto por acá, nos vamos a ir a Project y vamos a crear

34
00:02:12,480 --> 00:02:14,760
un paquete como siempre, al insert.

35
00:02:17,650 --> 00:02:24,310
Models o modelo, como le queramos llamar, el mejor modelo enter lo mismo vamos a crear una clase.

36
00:02:26,450 --> 00:02:27,140
Producto.

37
00:02:28,170 --> 00:02:29,310
Y con los atributos.

38
00:02:30,560 --> 00:02:34,760
Como siempre, privé primero del tipo long o entero.

39
00:02:36,700 --> 00:02:38,350
El Heidy perfecto.

40
00:02:42,670 --> 00:02:43,390
El nombre?

41
00:02:47,330 --> 00:02:48,070
El precio?

42
00:02:51,120 --> 00:02:51,620
Y doit?

43
00:02:52,050 --> 00:02:58,890
Pero vamos a importar dilla útil importante cuando bajamos en yaba de hotel en vez de ya se cuela cuando

44
00:02:58,890 --> 00:03:02,580
trabajamos consultan operaciones del asiento con llave se cuela.

45
00:03:03,310 --> 00:03:04,890
Entonces vamos a tener que hacer una conversión.

46
00:03:04,890 --> 00:03:13,070
Convertir dilla se cuele a Yaba útil después cuando poblema los datos del resulted del cursor al objeto

47
00:03:13,080 --> 00:03:14,380
producto cuando más vemos.

48
00:03:14,490 --> 00:03:15,270
Pero si lo vamos a ver.

49
00:03:15,420 --> 00:03:16,230
Fecha registro.

50
00:03:20,350 --> 00:03:23,200
Con al insert vamos general lo guié transex.

51
00:03:23,350 --> 00:03:26,920
Entonces braca seleccionado maquillé, transceptor, marcamos todos.

52
00:03:28,280 --> 00:03:28,560
Ok.

53
00:03:29,540 --> 00:03:34,430
Y también podríamos tener constructores, por ejemplo, vamos a tener uno que pase todos los parámetros.

54
00:03:34,550 --> 00:03:36,620
Entonces constructor, que pase todo.

55
00:03:37,460 --> 00:03:38,890
Seleccionamos todo, ok.

56
00:03:39,080 --> 00:03:42,800
Pero también vamos a tener otro más sin parámetro que lo podemos crear.

57
00:03:42,800 --> 00:03:45,470
Y después con el método Set asignamos los valores.

58
00:03:45,800 --> 00:03:46,490
Entonces.

59
00:03:47,990 --> 00:03:50,420
Constructor y seleccionamos Ninguno.

60
00:03:52,650 --> 00:03:53,520
Selleck no?

61
00:03:54,930 --> 00:03:57,560
Entonces volvemos a proyectos con alguno.

62
00:03:57,750 --> 00:03:59,510
Vamos a crear otro para cazzo por acá.

63
00:04:01,780 --> 00:04:03,370
Le vamos a llamar repositorio.

64
00:04:05,450 --> 00:04:08,090
Y acá también vamos a crear una interfaz.

65
00:04:08,450 --> 00:04:11,450
Si lo hiciéramos clase, luego interfaz y el nombre.

66
00:04:14,530 --> 00:04:20,110
Producto, repositorio o incluso más que producto repositorio, lo podemos ser con genérico, así lo

67
00:04:20,110 --> 00:04:21,970
dejamos un poco más reutilizable.

68
00:04:22,000 --> 00:04:28,090
Entonces en vez de producto vamos a colocar repositorio solamente de interfaz repositorio ok.

69
00:04:28,750 --> 00:04:30,100
Primero generic.

70
00:04:31,040 --> 00:04:35,690
Vamos a colocar té, bajamos y vamos a implementar los métodos primero para listar.

71
00:04:35,900 --> 00:04:39,380
Entonces va a volver un list de objetos.

72
00:04:41,870 --> 00:04:49,010
Vamos a importar perfecto de llevado a Stylist le vamos a llamar litar en inglés típicamente se utiliza

73
00:04:49,010 --> 00:04:51,050
a fin de buscar todos.

74
00:04:52,200 --> 00:04:52,710
Listar.

75
00:04:54,840 --> 00:04:55,440
Primer método.

76
00:04:55,530 --> 00:05:02,670
Segundo método buscar por Heidy ese ir a buscar el producto o el registro por la llave primaria, por

77
00:05:02,670 --> 00:05:03,510
el identificador.

78
00:05:03,630 --> 00:05:08,910
Recuerden que la llave del tipo lonko en la clase de producto que va a devolver el objeto, vamos a

79
00:05:08,910 --> 00:05:09,780
buscar uno solo.

80
00:05:10,020 --> 00:05:13,190
Entonces esté por ahí, por ahí.

81
00:05:15,170 --> 00:05:16,280
Long Heidy.

82
00:05:17,330 --> 00:05:17,960
Perfecto.

83
00:05:18,050 --> 00:05:20,150
Vamos a tener el guardar.

84
00:05:20,270 --> 00:05:21,980
Simplemente voy a guardar nada más.

85
00:05:22,370 --> 00:05:25,340
Entonces voy no devolver nada.

86
00:05:26,400 --> 00:05:31,830
Pero mejor le vamos a colocar, guardar y va a recibir un objeto del tipo genérico.

87
00:05:32,880 --> 00:05:38,160
Por ejemplo, el producto con los datos mapeado o con todos los datos que queremos guardar bien.

88
00:05:38,340 --> 00:05:42,900
Y por último, faltaría modificar y el eliminar es modificar sería muy similar.

89
00:05:43,220 --> 00:05:47,190
Voy modificar y pasamos el objeto con los datos que queremos modificar.

90
00:05:47,310 --> 00:05:48,840
Incluso podríamos reutilizar.

91
00:05:48,960 --> 00:05:54,180
Es decir, en el mismo método, por ejemplo, en el guardar, guardar los datos modificados o guardar

92
00:05:54,270 --> 00:05:55,140
un nuevo registro.

93
00:05:55,230 --> 00:05:59,500
Y eso depender de la si Leydi es mayor que cero y existen los datos.

94
00:05:59,670 --> 00:06:01,350
Entonces hacemos un ataque.

95
00:06:01,500 --> 00:06:03,630
De lo contrario podríamos hacer un insert.

96
00:06:03,870 --> 00:06:06,720
De hecho, el guardar lo podríamos dejar para los dos.

97
00:06:06,900 --> 00:06:08,760
Queda mucho mejor, de hecho o R.M.

98
00:06:08,790 --> 00:06:10,590
Como JPA, como Vernet.

99
00:06:10,800 --> 00:06:15,090
Muchas veces lo manejan de esa forma, un solo método para insertar y para modificar.

100
00:06:15,360 --> 00:06:16,350
Bueno, después vamos a ver.

101
00:06:16,500 --> 00:06:17,940
Por ahora lo dejamos en guardar.

102
00:06:18,000 --> 00:06:21,210
Le faltaría el eliminar también voy.

103
00:06:23,750 --> 00:06:29,510
Bueno, siempre se elimina por la llave, por el identificador en el eliminar, en el Telehit Huer,

104
00:06:29,540 --> 00:06:31,550
cuando Leydi es igual a un valor.

105
00:06:31,640 --> 00:06:36,820
Entonces acá vamos a pasar el tipo lonko con el Heidy, estamos listos.

106
00:06:37,070 --> 00:06:40,280
Ahí tenemos la interfaz de Bejan ya tomando un poco más de cuerpo.

107
00:06:40,370 --> 00:06:46,460
Nuestra aplicación con JS ya utilizando patrones de diseño, separando los roles de cada clase.

108
00:06:46,550 --> 00:06:48,670
Una clase se encarga de la conexión a la Segato.

109
00:06:48,800 --> 00:06:53,180
Otra clase repositorio se a encargar de todo lo que consulte y operacional hace rato.

110
00:06:53,270 --> 00:06:56,060
Una interfaz que debemos implementar que tiene que ser genérica.

111
00:06:56,070 --> 00:06:57,590
Se tienen que respetar estos métodos.

112
00:06:57,770 --> 00:06:59,780
Es parte del protocolo y del diseño.

113
00:06:59,900 --> 00:07:05,780
Es decir, todo repositorio tiene que tener un cruz para cierta tabla del ASEANDO, un listar, buscar

114
00:07:05,780 --> 00:07:08,150
por Heidy, guardar y eliminar.

115
00:07:08,240 --> 00:07:13,940
Y también podríamos tener más operaciones, más consulta, pero estas son las cuatro básicas y dentro

116
00:07:13,940 --> 00:07:16,630
del guardar vamos a tener el insert y el ataque.

117
00:07:16,790 --> 00:07:23,180
Por otro lado tenemos el producto, el objeto que representa los datos de la tabla de cada registro.

118
00:07:23,390 --> 00:07:28,610
Típicamente se le conoce y va dentro del patrón, diseño, repositorio o daho.

119
00:07:28,820 --> 00:07:34,100
También se le conoce como dette o data transfer object con método transceptor de tipo.

120
00:07:34,100 --> 00:07:39,170
Se utiliza mucho en aplicaciones distribuía conejo, taben tre, Pradilla, Babin y también con API

121
00:07:39,170 --> 00:07:39,620
Rest.

122
00:07:39,740 --> 00:07:45,230
Bueno, siempre va a ser un objeto con atributo y metodología tras setter, pero muchas veces en o R.M.

123
00:07:45,260 --> 00:07:46,490
Como Vernet JPA.

124
00:07:46,550 --> 00:07:51,950
Después vamos a ver, hay muchas relaciones de objeto y tenemos objeto muy complejo que están compuesto

125
00:07:51,950 --> 00:07:58,400
por objetos simple, pero muchas veces cuando queremos distribuir un API Rest, no necesitamos crear

126
00:07:58,460 --> 00:08:03,800
un objeto o transmitir un objeto completo con todas las relaciones, con todos los atributos, con todos

127
00:08:03,800 --> 00:08:04,520
los datos.

128
00:08:04,670 --> 00:08:05,630
Un objeto completo?

129
00:08:05,690 --> 00:08:11,120
No, por supuesto que no. Muchas veces necesitamos distribuir una API rest simple con lo justo necesario,

130
00:08:11,150 --> 00:08:14,000
con algunos atributos, incluso con los datos formateados.

131
00:08:14,150 --> 00:08:16,370
Bueno, para eso implementamos un DTO.

132
00:08:16,460 --> 00:08:23,780
Para transferir los datos del Entity o del POJO según los requerimientos, según como lo queramos implementar,

133
00:08:23,870 --> 00:08:28,340
pero también podríamos perfectamente distribuir el objeto completo con todas las relacione.

134
00:08:28,700 --> 00:08:35,030
Vamos a quedar hasta acá y continuamos la siguiente clase con el repositorio para pro-ducto, implementando

135
00:08:35,030 --> 00:08:35,690
esta interfaz.
