1
00:00:00,180 --> 00:00:00,800
Ven, sigamos.

2
00:00:00,900 --> 00:00:06,370
Vamos a ver el ejemplo mucho más completo ya incluyendo también categoría, es decir, un repositorio

3
00:00:06,370 --> 00:00:09,180
de producto, pero también un repositorio de categoría.

4
00:00:09,400 --> 00:00:13,140
Bueno, y la idea de manejar transacciones porque tenemos dotado las dos repositorio.

5
00:00:13,260 --> 00:00:16,380
La idea de crear una categoría, pero además un producto.

6
00:00:16,500 --> 00:00:21,750
Vamos a tener un mismo método, una transacción, hacemos un insert, una categoría, luego obtenemos

7
00:00:21,840 --> 00:00:27,960
el Heidy de esa categoría insertada y lo asociamos al producto y luego creamos el producto con ese día.

8
00:00:28,130 --> 00:00:28,720
Esa es la idea.

9
00:00:28,890 --> 00:00:31,300
Pero bueno, acá hay varias cosas que están involucradas.

10
00:00:31,320 --> 00:00:33,540
Primero, bueno, el pull de conexiones.

11
00:00:33,630 --> 00:00:36,600
Por lo tanto, vamos a tomar el ejemplo que ya tenemos de pool.

12
00:00:36,660 --> 00:00:37,620
Lo vamos a modificar.

13
00:00:37,710 --> 00:00:39,990
Le teme que agregar todo lo que se les cabo?

14
00:00:40,050 --> 00:00:42,210
Todo lo que vimos en las clases anteriores.

15
00:00:42,300 --> 00:00:47,340
Pero además tengo que agregar una clase servis, manejar transacciones de una forma mucho más, desacoplar

16
00:00:47,340 --> 00:00:54,090
la del controlador o de la clase con el método main y que ambos repositorio recuerden, tienen que compartir

17
00:00:54,090 --> 00:00:57,930
la misma conexión a aceto para que estén dentro de la misma transacción.

18
00:00:58,110 --> 00:00:59,100
Bien, comencemos a trabajar.

19
00:00:59,250 --> 00:01:02,820
Vamos a cerrar primero este proyecto será proyecto.

20
00:01:03,270 --> 00:01:08,850
Vamos a abrir otra de Sepul, pero solamente lo hemos adrid, no para modificar en ningún caso la idea

21
00:01:08,980 --> 00:01:10,950
e replicarlo, clonarlo.

22
00:01:11,130 --> 00:01:12,870
Lo vamos a copiar como siempre.

23
00:01:13,110 --> 00:01:20,130
Hacemos un clic en Yeva J de Sepul control C lo copiamos, hacemos un clic por acá y control B lo pegamos.

24
00:01:20,910 --> 00:01:22,130
Raquis ok.

25
00:01:23,040 --> 00:01:26,460
Recuerden, a veces podría no reconocer bien la clase, los РАМКАХ.

26
00:01:26,670 --> 00:01:29,220
En fin, ahí tendríamos que reiniciar el intelige.

27
00:01:29,880 --> 00:01:31,020
De todas formas cerramos.

28
00:01:32,540 --> 00:01:33,320
Lo vamos a abrir.

29
00:01:34,560 --> 00:01:40,280
Acá tenemos públ de Raikes seleccionamos J sepulto $x OK.

30
00:01:43,250 --> 00:01:45,950
Bien, íbamos a revisar entonces por acá.

31
00:01:47,740 --> 00:01:48,760
Por ejemplo, con qué clase?

32
00:01:48,850 --> 00:01:53,800
Yo solamente me quiero asegurar de que haya importado, de que se haya clonado bien.

33
00:01:55,010 --> 00:01:57,170
Entonces, perfecto, se fijan, ya aparece una ruta acá.

34
00:01:58,430 --> 00:01:58,970
Errores?

35
00:01:59,180 --> 00:02:00,470
Bueno, es típico.

36
00:02:01,040 --> 00:02:06,890
Si nos vamos a repositorio también, entonces la solución simple cerramos y volvemos a abrir.

37
00:02:15,520 --> 00:02:16,330
Problema solucionado.

38
00:02:16,570 --> 00:02:18,730
Bien, ahí tenemos entonces nuestro proyecto.

39
00:02:18,820 --> 00:02:19,930
Ahora lo vamos a modificar.

40
00:02:20,470 --> 00:02:21,670
Lo primero acá.

41
00:02:22,090 --> 00:02:23,320
Editar configuraciones.

42
00:02:23,470 --> 00:02:26,430
Vamos a quitar con el menos ok.

43
00:02:27,430 --> 00:02:30,430
Vamos a dejar solamente ejemplo JDBC El delito.

44
00:02:30,550 --> 00:02:31,330
Vamos a quitar.

45
00:02:32,050 --> 00:02:32,460
Ok.

46
00:02:32,560 --> 00:02:35,260
Lo eliminamos con suprimir el Activate.

47
00:02:35,440 --> 00:02:40,810
También la idea crear un producto consecu tegoría, pero crear los dos.

48
00:02:40,900 --> 00:02:44,050
Es decir, no una categoría exita, sino insertar una categoría.

49
00:02:44,170 --> 00:02:47,950
Luego insertar ese producto, un producto con esa nueva categoría.

50
00:02:48,010 --> 00:02:49,690
Todo dentro de una misma transacción.

51
00:02:49,900 --> 00:02:53,830
Como explicaba al principio, tenemos que crear un repositorio para categoría.

52
00:02:53,860 --> 00:02:54,190
En fin.

53
00:02:54,280 --> 00:02:55,030
Y modificar.

54
00:02:55,150 --> 00:02:57,190
Nos vamos a ir a produto repositorio.

55
00:02:57,730 --> 00:02:58,450
Claro, porque lo cambio.

56
00:02:58,450 --> 00:03:01,930
Lo hicimos en el proyecto que creamos anteriormente.

57
00:03:02,020 --> 00:03:05,410
Entonces tenemos que volver a realizar esos cambios que son la base.

58
00:03:05,590 --> 00:03:06,220
Se acuerdan?

59
00:03:06,340 --> 00:03:11,020
Por ejemplo, modificar producto, repositorio, implemento, quitar los catch.

60
00:03:11,320 --> 00:03:11,980
Se acuerdan?

61
00:03:12,100 --> 00:03:13,570
Lo lanzamos vía método.

62
00:03:13,810 --> 00:03:18,950
Además, tenga que agregar por acá en el insert, en el ataque, ese cabo.

63
00:03:19,090 --> 00:03:20,110
En fin, un montón de cosas.

64
00:03:20,260 --> 00:03:23,710
Partamos por esto en el guardar vamos a agregar el estacado.

65
00:03:23,830 --> 00:03:26,320
Recuerden después de categoría Heidy por acá.

66
00:03:27,550 --> 00:03:28,030
Perfecto.

67
00:03:28,030 --> 00:03:32,500
Bajamos de acá también este cabu coma.

68
00:03:32,650 --> 00:03:38,050
Después viene ficha registro y tenemos que agregar por acá un parámetro más.

69
00:03:38,170 --> 00:03:38,500
Un signo.

70
00:03:38,500 --> 00:03:38,980
Pregunta.

71
00:03:39,110 --> 00:03:40,480
Bien, con esto estamos listo.

72
00:03:40,630 --> 00:03:41,710
Faltaría por acá.

73
00:03:42,220 --> 00:03:42,940
Bajamos.

74
00:03:43,630 --> 00:03:45,580
Punto set string.

75
00:03:46,240 --> 00:03:51,790
En el índice 4 producto get ese cabo.

76
00:03:52,240 --> 00:03:53,170
Pero me falta de ese cabo.

77
00:03:53,440 --> 00:03:53,980
Se fijan?

78
00:03:54,070 --> 00:03:56,440
Entonces nos vamos a ir a pro-ducto también.

79
00:03:56,530 --> 00:03:57,520
Antes continuar acá.

80
00:03:58,180 --> 00:04:00,460
Por acá vamos a agregar por acá.

81
00:04:05,580 --> 00:04:08,340
Bajamos al último Wyeth por acá.

82
00:04:08,430 --> 00:04:09,140
Último set.

83
00:04:09,910 --> 00:04:17,610
Creamos lo que transceptor al insert ese cabo ok y bajamos también al estric.

84
00:04:18,270 --> 00:04:21,260
Entonces por acá un espacio más

85
00:04:24,720 --> 00:04:25,260
y listo.

86
00:04:25,950 --> 00:04:34,500
Volvemos al repositorio producto, continuamos acá con el quieto, acá silleta ese cabo, ahí pasamos

87
00:04:34,500 --> 00:04:34,870
el valor.

88
00:04:35,040 --> 00:04:37,020
Y recuerden inportante un poco más abajo.

89
00:04:37,200 --> 00:04:37,740
Por acá.

90
00:04:37,800 --> 00:04:41,070
Acá tenemos que modificar la cacería.

91
00:04:41,070 --> 00:04:43,070
5 llega también.

92
00:04:43,700 --> 00:04:44,070
5.

93
00:04:44,310 --> 00:04:45,090
Entonces va en orden.

94
00:04:45,300 --> 00:04:46,620
Un, dos, tres, cuatro.

95
00:04:47,100 --> 00:04:48,330
Nombre, precio y categoría.

96
00:04:48,450 --> 00:04:48,960
El 4.

97
00:04:48,960 --> 00:04:49,350
Ese cabu.

98
00:04:49,410 --> 00:04:50,880
Acá también en adelante.

99
00:04:50,970 --> 00:04:52,470
Uno, dos, tres, cuatro.

100
00:04:52,860 --> 00:04:53,820
Mantener el orden.

101
00:04:54,030 --> 00:04:54,330
5.

102
00:04:54,330 --> 00:04:58,110
Leydi en el ataque y en el insert en la fecha repecto.

103
00:04:58,110 --> 00:05:00,000
Ejemplo JBS que lo tenemos acá.

104
00:05:00,090 --> 00:05:01,350
Bueno, después de hagámosles a cabo.

105
00:05:01,410 --> 00:05:03,900
Después tengo que modificar de ejemplo, pero lo dejamos para final.

106
00:05:04,050 --> 00:05:07,260
Primero centrémonos en modificar el repositorio.

107
00:05:08,690 --> 00:05:09,380
Volvemos.

108
00:05:09,650 --> 00:05:10,700
Cuál será el siguiente paso?

109
00:05:10,820 --> 00:05:13,670
Bueno, tenemos que quitar acá los catch.

110
00:05:13,730 --> 00:05:16,670
Se acuerdan lo mismo que hicimos en el ejemplo anterior.

111
00:05:17,090 --> 00:05:17,960
Entonces quitamos.

112
00:05:18,860 --> 00:05:19,850
No se preocupen del error.

113
00:05:19,940 --> 00:05:21,080
Después lo modificamos.

114
00:05:21,140 --> 00:05:23,180
Acá también en el eliminar.

115
00:05:29,480 --> 00:05:29,900
Listo.

116
00:05:30,350 --> 00:05:36,590
Entonces, sobre el error por acá lo agregamos por el método colocamos ñez, porque actualize también

117
00:05:36,590 --> 00:05:37,220
la interfaz.

118
00:05:37,490 --> 00:05:42,500
Recuerden que es un método que escribimos, implementamos a partir de la interfaz repositorio.

119
00:05:43,010 --> 00:05:45,500
Acá también más acciones.

120
00:05:48,780 --> 00:05:49,410
Lo mismo.

121
00:05:57,500 --> 00:05:57,710
Bien.

122
00:05:57,830 --> 00:06:03,430
Y qué faltaría acá en producto, faltaría agregar el ese cabo, entonces.

123
00:06:04,490 --> 00:06:05,340
Punto set.

124
00:06:06,110 --> 00:06:13,280
Ese cabo resul ceto punto quiete stink de este cabo se fijan que mucho ordenado.

125
00:06:13,670 --> 00:06:20,090
Si vamos revisando los métodos acá tenemos el eliminar muy simple, nos vamos a guardar también sin

126
00:06:20,090 --> 00:06:27,530
tanto trae Nikhat bueno el trae sí, pero sin tanto catch eso lo manejamos después en el servis con

127
00:06:27,530 --> 00:06:32,900
el manejo transaccion, con el rollback, todo eso y acá lo dejamos lo más limpio posible si se fijan

128
00:06:33,200 --> 00:06:33,380
bien.

129
00:06:33,440 --> 00:06:34,880
Otro cambio que tenemos que hacer.

130
00:06:35,210 --> 00:06:40,310
Bueno, cuando creamos un nuevo registro, por ejemplo, quiero guardar una nueva categoría a un nuevo

131
00:06:40,310 --> 00:06:46,040
producto y ya que tenemos un insert de categoría, un insert de producto, pero cuando queremos la categoría

132
00:06:46,190 --> 00:06:52,190
de que está asociada con el Heidy en producto, tenemos que obtener el último Heidy insertado, creado

133
00:06:52,550 --> 00:06:57,920
y eso lo tengo que hacer en el guardar, pero solamente paralicen no late porque obviamente Laddie modifica

134
00:06:57,920 --> 00:07:02,540
un producto que existe, ya tiene su Heidy, pero el insert no tiene SAIDI, entonces tenemos que devolver

135
00:07:02,600 --> 00:07:08,780
el Leydi de ese registro que se creó y pero eso tengo que modificar la interfaz acá el método guardar

136
00:07:08,960 --> 00:07:11,420
porque está devolviendo un pait debería devolver.

137
00:07:11,570 --> 00:07:17,720
Bueno, podría ser el objeto producto que contenga Leidy o bien derechamente devolver el Heidy un entero

138
00:07:17,750 --> 00:07:22,670
que contenga Leydi de otra forma mejor devolver el producto completo, el objeto producto que se creó

139
00:07:22,760 --> 00:07:24,770
o que se actualizó con toda su información.

140
00:07:25,070 --> 00:07:31,340
Entonces podríamos hacer un cambio, no podríamos ir al repositorio, a la interfaz, entonces lo buscamos

141
00:07:31,340 --> 00:07:34,110
acá repositorio vamos a modificar el guardar.

142
00:07:34,550 --> 00:07:40,910
Entonces en vez de devolver un veit, un producto, pero recuerden, estamos utilizando el té genericos,

143
00:07:41,510 --> 00:07:44,060
un producto o una categoría o lo que sea.

144
00:07:44,450 --> 00:07:49,640
Ahora, bueno, acá me marca un warning que nunca se ha utilizado y por supuesto que va a marcar error.

145
00:07:49,640 --> 00:07:56,600
Acá se fijan porque no voy si no es en este caso el producto por el genérico, por el generic producto

146
00:07:56,990 --> 00:07:59,390
marca error acá porque no estamos devolviendo nada.

147
00:07:59,780 --> 00:08:01,700
Ya está bien, lo vamos a revisar.

148
00:08:01,910 --> 00:08:04,790
Por ahora vamos a devolver el mismo objeto, producto que estamos pasando.

149
00:08:06,340 --> 00:08:11,340
Por acá retorné producto GijÃn.

150
00:08:11,640 --> 00:08:12,570
Hay veces aparece el error.

151
00:08:12,690 --> 00:08:13,410
Ahí hicimos el cambio.

152
00:08:13,600 --> 00:08:19,770
Entonces, qué faltaría solamente asociar o asignar el Leydi del objeto producto, pero que se creó

153
00:08:19,860 --> 00:08:21,060
del insert.

154
00:08:21,600 --> 00:08:25,860
Cómo podemos ser de diferente forma, pero depender mucho del motor de acetato que estemos utilizando?

155
00:08:25,950 --> 00:08:29,550
Hay una forma mucho más genérica y abstracta que sirve para la mayoría.

156
00:08:29,670 --> 00:08:32,490
Por ejemplo, para mi SQL para pósteres SQL Server.

157
00:08:32,640 --> 00:08:33,660
En fin, para la mayoría.

158
00:08:33,990 --> 00:08:40,260
Otra tentativa es utilizar, por ejemplo SELECT un select especial que Camotes lo tiene Moise Cuele

159
00:08:40,740 --> 00:08:46,080
Select Last Insert Heidy separado todo con un bajo y es una función.

160
00:08:46,140 --> 00:08:53,160
Se fijan y devuelve y Leidy un entero con el valor de Leydi que se registró, que se insertó.

161
00:08:53,370 --> 00:08:59,070
Pero otra forma, como había explicado, es mediante el Rasul Ceto, es decir, crear un cursor y mediante

162
00:08:59,070 --> 00:08:59,730
el cursor.

163
00:08:59,880 --> 00:09:04,710
Después del ataque del Abbott obtenemos el último Heidy insertado.

164
00:09:04,770 --> 00:09:09,660
Pero para eso tenemos que configurar una cosa acá en el Prestadme como segundo argumento.

165
00:09:09,720 --> 00:09:12,810
Acá tenemos el Pre Testament se cuele.

166
00:09:13,830 --> 00:09:18,840
Acá tendremos que pasar una constante que el statement ratón.

167
00:09:19,050 --> 00:09:20,370
Acá tenemos ratón.

168
00:09:20,490 --> 00:09:21,570
Llenare aquí.

169
00:09:22,570 --> 00:09:25,600
Lo pasamos como segundo argumento en el pre préstenme.

170
00:09:25,750 --> 00:09:26,440
Eso es lo primero.

171
00:09:27,340 --> 00:09:28,210
Lo segundo.

172
00:09:28,300 --> 00:09:35,290
Bueno, después del execute Apdayc por acá vamos a tener un IFF, pero muy importante preguntar solamente

173
00:09:35,290 --> 00:09:36,310
para el INSER.

174
00:09:36,340 --> 00:09:38,850
Cómo sabemos cuándo es tunantes hay inser?

175
00:09:38,860 --> 00:09:39,110
Por el.

176
00:09:39,670 --> 00:09:43,240
Si pro-ducto punto en que Leidy es igual anul perfecto.

177
00:09:43,420 --> 00:09:47,560
Entonces le asignamos el último Heidy al producto del insert.

178
00:09:48,700 --> 00:09:52,770
Entonces producto punto get heidy.

179
00:09:52,930 --> 00:10:06,700
Si es igual anul un true con recurso porque lo vamos a cerrar result set rcc igual statement punto por

180
00:10:06,700 --> 00:10:15,460
acá tenemos el método Get generate x guet acá tenemos guet generated kish de segundo de acá.

181
00:10:15,670 --> 00:10:20,770
Entonces tenemos el resources to con el Heidy generado es una secuencia, por lo tanto vamos a mover

182
00:10:20,860 --> 00:10:26,050
el cursor con un if rc puntó next.

183
00:10:26,680 --> 00:10:30,400
Por lo tanto si tiene un Heidy generado incrementado.

184
00:10:30,700 --> 00:10:31,300
Perfecto.

185
00:10:32,020 --> 00:10:34,150
Se lo asignamos al producto producto.

186
00:10:34,270 --> 00:10:40,720
Recuerde que le en nulo lo tenemos en el IF, entonces lo asignamos con el set producto punto set y

187
00:10:40,720 --> 00:10:49,840
pasamos el aide RC punto nyet del tipo lonko 1 se fijan y con eso obtenemos el último Heidy generado.

188
00:10:50,620 --> 00:10:51,250
Estamos listo.

189
00:10:52,000 --> 00:10:52,450
Eso es todo.

190
00:10:52,540 --> 00:10:57,250
Y ahí pasamos el producto ya con el Heidy con la relación y vamos a hacer lo mismo con categoría.

191
00:10:57,370 --> 00:11:01,620
Va a ser muy importante obtener el edit de la categoría para que después lo pasemos.

192
00:11:01,720 --> 00:11:04,030
Designemos al producto y establezcamos la relación.

193
00:11:04,270 --> 00:11:09,220
Bueno, cuál sería el siguiente paso a crear el repositorio pero de categoría A, pero antes tenemos

194
00:11:09,220 --> 00:11:10,480
que modificar otro.

195
00:11:10,570 --> 00:11:16,930
Otra cosa, otro tema, claro, porque recuerden que para trabajar con transacciones se requiere una

196
00:11:16,990 --> 00:11:18,430
única conexión, la misma.

197
00:11:18,610 --> 00:11:24,790
Vamos a tener que quitar, desacoplar el connection connection de cada método del repositorio.

198
00:11:24,950 --> 00:11:26,890
Entonces eso lo vamos a dejar hecho.

199
00:11:26,950 --> 00:11:28,420
Ahora, antes finalizar.

200
00:11:28,630 --> 00:11:30,260
Pero lo primero es crear un atributo.

201
00:11:30,970 --> 00:11:33,460
Entonces voy a quitar este método de conexión.

202
00:11:34,090 --> 00:11:36,880
Fíjense bien, lo voy a modificar hasta acá.

203
00:11:37,030 --> 00:11:40,540
Guet, con los borro punto y coma.

204
00:11:40,690 --> 00:11:47,520
Voy a quitar el con y el quet con con minúscula y lo dejamos privat GijÃn.

205
00:11:47,620 --> 00:11:48,580
Ahora quitamos esto.

206
00:11:49,850 --> 00:11:53,000
Por cada uno, en cada método, lo quitamos.

207
00:11:55,700 --> 00:11:56,300
Acá también.

208
00:11:58,680 --> 00:12:02,070
Entonces la conexión es siempre la misma para todos los métodos.

209
00:12:02,790 --> 00:12:03,600
Para acá también.

210
00:12:06,440 --> 00:12:08,180
Y también en eliminar.

211
00:12:11,470 --> 00:12:15,430
Solamente faltaría crear un constructor para poder pasar acá la conexión.

212
00:12:15,790 --> 00:12:20,800
Claro, porque la conexión sólo tengo que pasar de alguna forma mediante un método set o un constructor.

213
00:12:20,890 --> 00:12:22,690
Eso lo pasamos en el servis.

214
00:12:22,990 --> 00:12:23,690
Después vamos a ver.

215
00:12:24,100 --> 00:12:25,610
Ahora dejamos creado el constructor.

216
00:12:25,770 --> 00:12:32,950
Entonces un clic derecho a Generate o también recuerden con Alt Insert constructor con la conexión muy

217
00:12:32,950 --> 00:12:33,490
importante.

218
00:12:34,490 --> 00:12:39,680
Y ahora sí que si te import que nos estamos utilizando como kitar y continuamos la siguiente clase con

219
00:12:39,680 --> 00:12:41,420
el repositorio de categoría.

220
00:12:41,600 --> 00:12:42,320
Nos vemos.
