1
00:00:00,300 --> 00:00:02,560
Continuemos creando la clase producto repository.

2
00:00:02,760 --> 00:00:09,480
Nos vamos al Project Explorer, la pestaña de proyectos con Alt 1, íbamos a crear una nueva clase en

3
00:00:09,480 --> 00:00:15,450
repositorio, entonces con alt insert, un yaba class, una clase producto repositorio

4
00:00:18,360 --> 00:00:22,020
le vamos a colocar IMPI de implemente una implementación concreta.

5
00:00:22,170 --> 00:00:33,720
Entonces bueno class implementas repositorio y en generic vamos a pasar acá producto el tipo de la clase

6
00:00:34,740 --> 00:00:41,720
y sobre el error con alt enter implementan métodos todos los métodos de la interfaz y listo.

7
00:00:41,820 --> 00:00:42,480
Ahí lo tenemos.

8
00:00:42,600 --> 00:00:44,790
Ahora tenemos que dar cuerpo, dar vida a estos métodos.

9
00:00:44,970 --> 00:00:47,370
El liTat por Heidy Guardar y eliminar.

10
00:00:47,670 --> 00:00:51,630
Bien, vamos a comenzar primero con el listar, pero para eso necesitamos primero la conexión.

11
00:00:51,690 --> 00:00:58,470
Entonces podríamos tener un método privado que devuelva la conexión a la aceto Private Connection

12
00:01:01,770 --> 00:01:09,030
Get conectado y vamos a importar conexión con Alt Enter importamos de java.

13
00:01:09,030 --> 00:01:10,080
Se cuela bien.

14
00:01:10,200 --> 00:01:10,810
Ratón.

15
00:01:12,180 --> 00:01:12,870
Nuestra clase.

16
00:01:12,870 --> 00:01:13,140
Base.

17
00:01:13,140 --> 00:01:13,530
Dato.

18
00:01:13,650 --> 00:01:14,100
Conexión.

19
00:01:14,100 --> 00:01:14,310
Base.

20
00:01:14,310 --> 00:01:14,700
Dato.

21
00:01:17,040 --> 00:01:17,760
Punto.

22
00:01:17,970 --> 00:01:18,900
Get incitas.

23
00:01:21,840 --> 00:01:23,690
Lo mismo lanzamos en el método.

24
00:01:23,780 --> 00:01:29,180
La acepción con frus entonces un método privado para obtener la conexión y lo vamos a utilizar tanto

25
00:01:29,340 --> 00:01:32,360
en dictar, bucar, por Heidy, guardar y en otros métodos.

26
00:01:32,540 --> 00:01:38,120
Vamos a partir primero en listar list del tipo producto

27
00:01:40,670 --> 00:01:45,410
productos igual new ArrayList una lista.

28
00:01:47,760 --> 00:01:52,200
Acá vamos a volver esta lista producto y la vamos a llenar con el producto desde la consulta.

29
00:01:52,300 --> 00:01:54,030
Entonces acá devolvemos producto.

30
00:01:55,150 --> 00:01:57,120
Ahora vamos a crear la sentencia.

31
00:01:57,270 --> 00:02:01,410
Bueno, primero un try como recurso y dentro el estamento.

32
00:02:03,180 --> 00:02:12,590
Vamos a importar de Java, se cuele ese TMT sentencia igual y la obtenemos travésdel que con este método

33
00:02:12,960 --> 00:02:13,770
entonces nyet.

34
00:02:13,890 --> 00:02:16,710
Connection punto cree estamento.

35
00:02:17,880 --> 00:02:18,450
Perfecto.

36
00:02:18,540 --> 00:02:19,140
Bajamos.

37
00:02:19,170 --> 00:02:19,820
Bueno, punto y coma.

38
00:02:19,830 --> 00:02:22,440
Bajamos y vamos a tener el result set.

39
00:02:25,190 --> 00:02:31,070
Le vamos a llamar RC, vamos a importar primero acá con Alt Enter importamos.

40
00:02:33,680 --> 00:02:36,360
Que sentencia punto execute querí?

41
00:02:39,060 --> 00:02:48,600
Con la consulta select asterisco from la tabla Productos y listo.

42
00:02:48,720 --> 00:02:49,380
Ahí la tenemos.

43
00:02:49,710 --> 00:02:51,900
Entonces el sentencie y el result set.

44
00:02:51,990 --> 00:02:54,990
Esos son los dos objetos que vamos a cerrar de forma automática con el auto.

45
00:02:55,380 --> 00:02:58,200
Por eso lo tenemos en el trait y no el objeto Connection.

46
00:02:58,320 --> 00:03:02,160
Porque recuerden, no podemos cerrar el objeto Connection, ya que es un singleton.

47
00:03:02,340 --> 00:03:06,520
Podríamos revisar con control TAB la clase conexión base.

48
00:03:07,020 --> 00:03:11,520
Se fijan si lo cerramos va a ser distinto, nulo, pero va a ser un recurso cerrado.

49
00:03:11,700 --> 00:03:18,050
Por lo tanto, no vamos a tener una conexión activa y no vamos a poder seguir realizando consultas o

50
00:03:18,060 --> 00:03:19,160
operaciones al hacerlo.

51
00:03:19,770 --> 00:03:23,340
Pero es importante no cerrar el recurso de la conexión.

52
00:03:23,430 --> 00:03:28,830
Eso lo cerramos después, al final de la aplicación, cuando no salgamos o al final del método Main.

53
00:03:28,980 --> 00:03:34,050
Bien, pero acá obviamente tenemos que manejar errores con el trae el catch porque acá.

54
00:03:34,110 --> 00:03:41,800
Bueno, vámonos acá al error con alt enter nos dice agregar una cláusula catch.

55
00:03:42,030 --> 00:03:45,630
Bueno, y agregamos tanto en el statement como en el resources.

56
00:03:45,900 --> 00:03:48,840
Pues es que la tabla productos pudiera ser que no exista.

57
00:03:48,870 --> 00:03:49,410
Se fijan?

58
00:03:49,560 --> 00:03:50,550
Entonces lo tenemos que manejar.

59
00:03:51,970 --> 00:04:00,510
Vamos a cambiar el nombre a un label, lo vamos a borrar, lo cambiamos a E y lo mismo acá lo seleccionamos

60
00:04:01,290 --> 00:04:03,030
y lo reemplazamos por él y listo.

61
00:04:03,300 --> 00:04:10,770
Ahora bueno, qué faltaría iterar el cursor el result ser con Oogway y por cada registro la Sedatu.

62
00:04:10,800 --> 00:04:16,740
Creamos un objeto producto y lo guardamos a la lista productos a esta lista que estamos devolviendo.

63
00:04:17,100 --> 00:04:17,640
Veamos.

64
00:04:19,730 --> 00:04:21,410
RC Punto.

65
00:04:21,500 --> 00:04:22,100
Next.

66
00:04:22,670 --> 00:04:25,610
Bajamos acá, vamos a crear un objeto producto.

67
00:04:27,970 --> 00:04:32,860
Te vamos a llamar pé de producto igual new producto.

68
00:04:34,120 --> 00:04:35,060
Hay diferentes opciones.

69
00:04:35,170 --> 00:04:40,240
Podemos pasar todos los datos por constructor o bien mediante métodos set pedido un poco ordenado.

70
00:04:40,330 --> 00:04:41,620
Lo vamos a hacer con el método Set.

71
00:04:41,740 --> 00:04:43,150
Pero bueno, da lo mismo.

72
00:04:43,210 --> 00:04:45,130
P Set Heidy.

73
00:04:46,470 --> 00:04:51,960
R Sepulto Get to get lonko con el nombre de.

74
00:04:53,660 --> 00:04:54,700
Punto Set.

75
00:04:55,010 --> 00:04:58,760
Nombre Geet Strength.

76
00:05:01,190 --> 00:05:06,170
Nombre se fijan ahora el precio guet.

77
00:05:06,290 --> 00:05:07,700
Entero guet int.

78
00:05:07,880 --> 00:05:08,420
El entero.

79
00:05:10,080 --> 00:05:10,850
Con el precio.

80
00:05:12,150 --> 00:05:13,670
Punto Set.

81
00:05:13,920 --> 00:05:20,610
La fecha fue tarjeta RC, RC, punto Gheto Date.

82
00:05:22,790 --> 00:05:23,510
Fecha?

83
00:05:23,630 --> 00:05:27,170
Guión bajo qué faltaría?

84
00:05:27,290 --> 00:05:32,630
Bueno, pasar el objeto producto que ya lo tenemos creado con toda su información del result set, con

85
00:05:32,630 --> 00:05:39,920
todos los datos lo pasamos a la lista por cada uno, entonces la lista sería productos que tenemos nuestro

86
00:05:39,920 --> 00:05:47,270
ArrayList punto a mi pasamos el producto y resto lo tenemos.

87
00:05:47,930 --> 00:05:54,800
Bien, si se fijan el get dat acá devuelve un yaba se cuele punto dato pero el ya se cuele.

88
00:05:54,980 --> 00:05:59,150
Si hacemos un control click por acá hereda de Yaba útil.

89
00:05:59,210 --> 00:06:03,920
Por lo tanto, un yo SQL también es un yaba útil por detrás de escena.

90
00:06:04,070 --> 00:06:10,430
Y como acá tenemos un set fecha registro que acepta un Jatin, lo podemos poblar porque el objeto ya

91
00:06:10,430 --> 00:06:11,960
se cuele, pero también es ya útil.

92
00:06:12,050 --> 00:06:17,480
Lo que no podemos hacer es pasar al revés, es decir, un yaba útil en un ya se cuela ahí tenemos que

93
00:06:17,480 --> 00:06:18,170
hacer la conversión.

94
00:06:18,570 --> 00:06:19,310
Bien, vamos a ver.

95
00:06:19,520 --> 00:06:23,420
Nos vamos entonces a nuestro ejemplo que tenemos acá.

96
00:06:23,510 --> 00:06:25,940
Ejemplo JDBC y lo podemos modificar.

97
00:06:25,970 --> 00:06:30,360
Por ejemplo, esta línea de acá la podríamos eliminar completamente.

98
00:06:30,710 --> 00:06:33,320
Vamos a quitar esa línea, el statement también.

99
00:06:33,320 --> 00:06:40,850
Vamos a eliminar esta acá el result set la seleccionamos pero solamente hasta acá y le quitamos.

100
00:06:41,750 --> 00:06:43,790
Bajamos y acá también lo quitamos.

101
00:06:43,950 --> 00:06:47,960
Lo vamos a seleccionar hasta acá y lo eliminamos.

102
00:06:48,110 --> 00:06:48,680
Perfecto.

103
00:06:49,190 --> 00:06:49,430
Bueno.

104
00:06:49,490 --> 00:06:50,840
Por qué importante el Connection?

105
00:06:50,930 --> 00:06:54,490
Por qué estamos haciendo acá el traje de con ellos solamente por el autoclave?

106
00:06:54,830 --> 00:06:59,300
Vamos a crear la instancia del repositorio del tipo de interfaz

107
00:07:02,870 --> 00:07:03,620
pro-ducto.

108
00:07:05,710 --> 00:07:11,140
Repositorio igual new producto repositorio.

109
00:07:16,000 --> 00:07:21,970
Puerto Importar productos perfecto y fuerte, importar repositorio, perfecto, ahí lo tenemos ahora

110
00:07:22,180 --> 00:07:27,790
Repositorio Listar Punto Foret.

111
00:07:28,870 --> 00:07:29,890
Recuerden que es una lista.

112
00:07:30,490 --> 00:07:31,930
Acá se emite el producto.

113
00:07:34,820 --> 00:07:35,250
Shout.

114
00:07:36,240 --> 00:07:36,560
P.

115
00:07:36,720 --> 00:07:41,000
Punto Geet nombre, por ejemplo, vamos a probar.

116
00:07:41,420 --> 00:07:42,110
Levantamos.

117
00:07:45,950 --> 00:07:47,800
Tenemos bicicleta y Sanzo.

118
00:07:48,120 --> 00:07:51,530
Por supuesto que esto acá el trae del conexión.

119
00:07:51,720 --> 00:07:54,860
Bueno, necesitamos de alguna forma cerrar la conexión al acetato.

120
00:07:55,220 --> 00:07:57,770
Si utilizamos el singleton, entonces una forma sería esto.

121
00:07:57,920 --> 00:08:02,890
Ahora también lo podríamos cerrar de forma manual con el hecho en punto close.

122
00:08:03,350 --> 00:08:07,070
Acá con el final dosifica, pero es mucho mejor esto de acá.

123
00:08:07,640 --> 00:08:11,360
Entonces solamente esto está implementado para finalizar nada más.

124
00:08:11,570 --> 00:08:12,940
Pero toda la operación es la.

125
00:08:12,950 --> 00:08:19,310
Trabajamos con el repositorio para listar, para actualizar y entremedio de este Troi, con la conexión

126
00:08:19,400 --> 00:08:23,420
abierta habilitada podemos realizar todas las operaciones que queramos ahora.

127
00:08:23,480 --> 00:08:25,580
Otra alternativa es no tener esto acá.

128
00:08:25,730 --> 00:08:31,490
Simplemente usamos solamente el repositorio, pero tendríamos que cerrar la conexión en cada operación,

129
00:08:31,670 --> 00:08:32,540
en cada operación.

130
00:08:32,660 --> 00:08:40,160
Por acá tendríamos que abrir y cerrar, por ejemplo en editar, abrir la conexión la obtenemos y posteriormente

131
00:08:40,160 --> 00:08:42,140
después la cerramos con el punto Clouds.

132
00:08:42,230 --> 00:08:47,990
Pero tendría que ser manual, o bien con el traje, con los recursos, pero siempre abriendo y cerrando

133
00:08:48,080 --> 00:08:52,010
en el mismo método del repositorio por cada consulta o operación.

134
00:08:52,160 --> 00:08:56,810
También depende de cómo lo queramos implementar, quizás dejar una sola conexión abierta para toda la

135
00:08:56,810 --> 00:08:57,530
aplicación.

136
00:08:57,760 --> 00:08:58,460
Esto es perfecto.

137
00:08:58,700 --> 00:08:59,510
Es una alternativa.

138
00:08:59,750 --> 00:09:01,660
Continuamos en la siguiente clase.
