1
00:00:00,150 --> 00:00:05,880
En la clase anterior me comí la C en conexión, entonces tecleamos a agregar conexión y también acá

2
00:00:05,970 --> 00:00:06,560
con Echo.

3
00:00:07,020 --> 00:00:09,720
Bien, ahora vamos a implementar el por Heidy acá.

4
00:00:12,180 --> 00:00:17,460
Lo primero, devolver un tipo producto acá no es una lista, sino vamos a buscar por ahí, di con un

5
00:00:17,460 --> 00:00:19,770
huer y debería encontrar un registro.

6
00:00:19,830 --> 00:00:21,810
Bueno, en realidad podría ser ninguno.

7
00:00:21,960 --> 00:00:26,790
En caso de que Leydi no existan las Ayato o no existe ningún registro con ese Heidy, pero si lo encuentra

8
00:00:26,910 --> 00:00:30,780
un solo registro, un solo producto, entonces lo vamos a definir acá.

9
00:00:30,810 --> 00:00:32,280
La variable producto.

10
00:00:35,270 --> 00:00:41,840
Lo dejamos en Nul por defecto viene y acá con un try la sentencia utilizando el Connection, pero en

11
00:00:41,840 --> 00:00:47,150
realidad no es una sentencia, un Steinmetz, sino un prepar stema, una sentencia preparada.

12
00:00:47,240 --> 00:00:50,480
Por qué hacer con un huer y un parámetro con el Heidy?

13
00:00:50,990 --> 00:00:52,880
Bien, entonces prepar statements.

14
00:00:56,520 --> 00:01:08,730
Igual Geet conexión punto prepar Stedman y acá la consulta un string, un selecto asterisco from la

15
00:01:08,730 --> 00:01:12,330
tabla, pero antes continue, vamos a bajar una línea entonces por acá.

16
00:01:14,230 --> 00:01:20,470
Bajamos y además vamos a cerrar la pestaña Proyecto para que quede en pantalla completa, entonces con

17
00:01:20,560 --> 00:01:26,200
Alt 1, luego repetimos al 1 y quitamos la pestaña o la ocultamos.

18
00:01:26,680 --> 00:01:34,860
Continuamos from pro-ductos la tabla y con el where el Heidy.

19
00:01:35,140 --> 00:01:38,140
Igual algún parámetro pregunta y está molesto.

20
00:01:38,470 --> 00:01:42,310
Cerramos la sentencia Troi con las llaves tenemos que manejar el track catch.

21
00:01:42,440 --> 00:01:49,390
Entonces en el error en el que con lechon nos posicionamos sobre y con alt enter agregamos el cacho.

22
00:01:50,110 --> 00:01:54,300
Vamos a modificar acá el label por el E.

23
00:01:54,910 --> 00:01:57,650
Entonces simplemente lo seleccionamos, lo quitamos e.

24
00:01:57,790 --> 00:01:58,480
Y lo mismo acá.

25
00:02:02,920 --> 00:02:03,940
Ahí tenemos la sentencia.

26
00:02:04,000 --> 00:02:06,880
Entonces ahora tenemos que pasar el parámetro de Leidy.

27
00:02:07,030 --> 00:02:09,670
Se lo tengo que asignar con el método Set del statement.

28
00:02:10,570 --> 00:02:12,400
Es decir, del Steinmetz Pepper.

29
00:02:12,850 --> 00:02:15,190
Punto set lonko.

30
00:02:15,550 --> 00:02:17,110
Claro, tiene que ser del tipo Long.

31
00:02:17,200 --> 00:02:19,750
Porque el parámetro de Leydi es del tipo lonko.

32
00:02:19,930 --> 00:02:23,530
El índice uno coma el valor Heidy.

33
00:02:24,670 --> 00:02:25,360
Ahí lo pasamos.

34
00:02:25,450 --> 00:02:27,850
Lo segundo es el result set.

35
00:02:28,120 --> 00:02:30,250
El siguiente paso sería ejecutar la consulta.

36
00:02:30,370 --> 00:02:31,480
La sentencia preparada.

37
00:02:31,660 --> 00:02:32,860
Ya pasamos el parámetro.

38
00:02:32,890 --> 00:02:34,720
Ya tenemos la consulta con la plantilla.

39
00:02:34,990 --> 00:02:35,770
La ejecutamos.

40
00:02:35,860 --> 00:02:37,570
Iba a devolver un cursor.

41
00:02:37,660 --> 00:02:38,380
El result set.

42
00:02:40,490 --> 00:02:41,960
RC Igual.

43
00:02:43,010 --> 00:02:43,970
Punto.

44
00:02:44,250 --> 00:02:47,270
Ezequiel Querí ejecutamos la consulta.

45
00:02:48,680 --> 00:02:52,070
Ven acá, devuelve un solo producto, es decir, uno o ninguno.

46
00:02:52,430 --> 00:02:58,440
Entonces, en vez de utilizar un Weill, vamos a utilizar un IFF y movemos el cursor RC.

47
00:02:58,750 --> 00:02:59,540
Punto.

48
00:02:59,830 --> 00:03:05,270
Next Lleca Creamos el objeto producto con los datos del resources, que es justamente lo que tenemos

49
00:03:05,270 --> 00:03:06,080
un poco más arriba.

50
00:03:06,590 --> 00:03:10,370
Al otro método al dictar por acá es justamente esto mismo.

51
00:03:10,790 --> 00:03:11,840
Exactamente esto.

52
00:03:11,930 --> 00:03:16,130
Entonces, bueno, hay dos alternativas lo podríamos copiar y pegar, pero estaríamos duplicando código

53
00:03:16,250 --> 00:03:19,790
y probablemente el día mañana puede que cambie el nombre de alguna columna.

54
00:03:19,820 --> 00:03:24,380
Por ejemplo, puede que cambie el precio por otro nombre o el nombre del producto.

55
00:03:24,440 --> 00:03:29,810
Se fijan y tendríamos que estar modificando el nombre del campo de esta columna en más de un lugar.

56
00:03:29,900 --> 00:03:30,920
Entonces mucho mejor.

57
00:03:30,980 --> 00:03:36,470
En vez de copiar y pegar, podríamos crear un método y reutilizar este código que se encarga de mapear

58
00:03:36,650 --> 00:03:41,070
un result set un registro del asalto a un objeto producto.

59
00:03:41,120 --> 00:03:43,070
Entonces lo que estamos haciendo es creando el producto.

60
00:03:43,070 --> 00:03:49,550
Este objeto estamos poblando, estamos hidratando sus valores, sus atributos con los valores de la

61
00:03:49,550 --> 00:03:50,030
consulta.

62
00:03:50,090 --> 00:03:55,340
Entonces vamos a seleccionar todo esto y con clic derecho utilizando el IDE.

63
00:03:55,420 --> 00:04:02,060
Inteligir acá tiene una característica es bien potente que nos permite extraer un método extract método

64
00:04:02,360 --> 00:04:05,330
con el atajo control alt m con el Chord cat.

65
00:04:05,480 --> 00:04:10,850
A mí no me funciona el Chord cat, pero lo pueden probar si le funciona perfecto, sino con clic derecho

66
00:04:10,850 --> 00:04:18,020
rfactor el método hacen un clic y automáticamente se crea un método un poco más abajo que get producto.

67
00:04:18,260 --> 00:04:25,070
De hecho lo podríamos renombrar acá, entonces simplemente quitamos el get y le ponemos crear producto

68
00:04:25,280 --> 00:04:29,330
o el nombre que queramos crear producto y entes y listo.

69
00:04:29,420 --> 00:04:32,540
Ahí tenemos el método reutilizable un poco más abajo.

70
00:04:32,540 --> 00:04:39,020
De hecho vamos a quitar un código que puso además acá, acá agregó una anotación no null, eso lo vamos

71
00:04:39,020 --> 00:04:44,510
a quitar porque en realidad no sirve para nada, es solamente para efecto del intelige.

72
00:04:44,720 --> 00:04:49,130
Quitamos esa línea, la eliminamos bien y también vamos a seleccionar todo este código.

73
00:04:49,250 --> 00:04:53,690
Este método los seleccionados completo y lo vamos a mover hacia abajo.

74
00:04:54,890 --> 00:04:56,750
Nos movemos por acá a ver.

75
00:04:56,900 --> 00:04:57,650
Ahí está bien.

76
00:04:57,800 --> 00:05:04,100
Al final de la clase de un método privado que de hecho lo vamos a utilizar también acá en el método

77
00:05:04,100 --> 00:05:04,580
por allí.

78
00:05:05,990 --> 00:05:07,430
Entonces sería producto.

79
00:05:09,670 --> 00:05:11,050
Igual crea el producto.

80
00:05:12,590 --> 00:05:15,550
Y pregunto pasamos el result set perfecto.

81
00:05:16,340 --> 00:05:18,760
Bien, recemos t método con control B.

82
00:05:18,890 --> 00:05:25,550
Nos vamos a la definición del método del producto y si se fijan se crea con el privat, un método solamente

83
00:05:25,550 --> 00:05:29,720
que utilizamos dentro de la clase y además pasa el result set por argumento.

84
00:05:29,720 --> 00:05:33,230
El método entonces forma inteligente crea el método conectÃ estructura.

85
00:05:33,410 --> 00:05:39,710
El resulted crea el objeto y utiliza el cursor para pasar los datos al objeto producto vía set.

86
00:05:40,040 --> 00:05:46,820
Entonces ahí lo estamos reutilizando acá en el por Heidy y también acá en el Dictas queda mucho mejor.

87
00:05:46,910 --> 00:05:47,750
Ahora qué faltaría?

88
00:05:47,840 --> 00:05:54,380
Bueno, faltaría en vez de devolver el null producto perfecto, ahí lo tenemos.

89
00:05:54,500 --> 00:05:59,330
En nuestro código estamos cerrando de forma automática con el auto Clov solamente la sentencia, el

90
00:05:59,330 --> 00:06:00,440
statement acá.

91
00:06:00,530 --> 00:06:04,200
Por eso acá tenemos los paréntesis, acá el primer statement.

92
00:06:04,460 --> 00:06:11,000
Creamos el objeto con la plantilla, luego con las llaves y en el cuerpo pasamos el parámetro del tipo

93
00:06:11,000 --> 00:06:12,040
lock y el set.

94
00:06:12,110 --> 00:06:14,180
Pero el result set nos lo estamos cerrando.

95
00:06:14,480 --> 00:06:15,020
Por qué?

96
00:06:15,080 --> 00:06:18,920
Por qué no lo podemos colocar dentro de Troi con recursos?

97
00:06:19,190 --> 00:06:26,720
Porque por ejemplo, si lo movemos para que se auto cierre, lo quiero mover acá entremedio voy a cortar.

98
00:06:28,730 --> 00:06:36,650
Por acá y coma por acá, dentro de tu paréntesis en el Tri no podemos colocar cualquier tipo Keigo ni

99
00:06:36,650 --> 00:06:42,560
tampoco pasa el parámetro con el set se fijan, solamente podemos definir objetos del tipo recurso,

100
00:06:42,650 --> 00:06:48,950
es decir, que por detrás implementen el auto, que los recursos que se puedan cerrar de forma automática,

101
00:06:48,980 --> 00:06:53,960
entonces siempre trae entre los paréntesis solamente definimos recursos.

102
00:06:54,020 --> 00:06:59,480
Por lo tanto, pasar parámetros con el statement, con el set log no es parte o no está dentro del contexto

103
00:06:59,630 --> 00:07:01,040
del trade con recurso.

104
00:07:01,130 --> 00:07:05,150
Entonces por eso acá lo tenemos que asignar fuera de este true de los paréntesis.

105
00:07:05,450 --> 00:07:05,780
Fuera.

106
00:07:05,840 --> 00:07:06,410
Acá abajo.

107
00:07:07,280 --> 00:07:11,990
Al final lo tengo que dejar de esta forma y solamente auto cerrar la sentencia.

108
00:07:12,500 --> 00:07:15,950
Entonces, como solución podríamos cerrar el RC por acá.

109
00:07:16,490 --> 00:07:19,640
Punto Close y listo.

110
00:07:19,760 --> 00:07:21,950
Le enviamos otro tema con control TAB.

111
00:07:22,100 --> 00:07:26,160
Nos vamos a ir a la clase pro-ducto acá con Alt Insert.

112
00:07:26,480 --> 00:07:29,030
Vamos a crear el método toString por acá.

113
00:07:29,780 --> 00:07:32,180
Vamos a crear con todos los datos, OK?

114
00:07:32,300 --> 00:07:33,230
Y lo vamos a modificar.

115
00:07:33,830 --> 00:07:35,570
Entonces vamos a quitar esta línea.

116
00:07:35,810 --> 00:07:36,380
Está acá.

117
00:07:36,470 --> 00:07:37,430
La vamos a seleccionar.

118
00:07:39,290 --> 00:07:42,110
Vamos a quitar esto también vamos a quitar esto.

119
00:07:43,920 --> 00:07:52,410
Dejamos el Heidy acá, bajamos acá, vamos a dejar solamente un separador nada más con el nombre y acá

120
00:07:52,440 --> 00:07:53,820
podríamos dejar otro separador.

121
00:07:56,310 --> 00:07:58,230
Bajamos esto acá, le quitamos.

122
00:08:01,000 --> 00:08:01,840
Un separador.

123
00:08:04,270 --> 00:08:05,170
Y otro quitamos.

124
00:08:08,850 --> 00:08:09,630
Bajamos.

125
00:08:13,560 --> 00:08:14,310
Y bajamos.

126
00:08:14,800 --> 00:08:18,870
Entonces le di nombre, precio y la fecha registro con los separadores.

127
00:08:19,020 --> 00:08:21,720
Ahora vamos a ir a la clase ejemplo con el método Main.

128
00:08:21,810 --> 00:08:29,480
Ejemplo Jcsé y en vez de imprimir el producto con el que nombre, simplemente el producto y de hecho

129
00:08:29,580 --> 00:08:31,710
lo podríamos abreviar, se acuerdan?

130
00:08:31,950 --> 00:08:40,620
Vamos a colocar dos punto acá y esto lo quitamos con referencia a método y vamos a probar el por ahí.

131
00:08:40,950 --> 00:08:46,920
De hecho Shout Repositorio Punto por Heidy.

132
00:08:47,430 --> 00:08:52,770
Por allí, por ejemplo vamos a listar el 2 en registro 2 del tipo Lonco.

133
00:08:52,920 --> 00:08:54,420
Entonces vamos a colocar 2 L.

134
00:08:54,570 --> 00:08:59,670
Recuerden que recibe un log y ejecutamos con control cheff F10.

135
00:08:59,760 --> 00:09:00,480
Levantamos.

136
00:09:01,680 --> 00:09:08,280
Ya tenemos, se fijan Lyta primero la lista completa con el distar, acá la tenemos y después lista

137
00:09:08,370 --> 00:09:10,920
el 2, el detalle solamente el 2.

138
00:09:11,190 --> 00:09:16,980
Incluso si colocamos acá 1 y volvemos a levantar, va a listar bicicleta en el detalle.

139
00:09:17,100 --> 00:09:18,600
Continuamos en la siguiente clase.
