1 00:00:00,000 --> 00:00:05,719 pues el jueves 2 00:00:05,719 --> 00:00:08,039 en vacaciones, antes de irnos 3 00:00:08,039 --> 00:00:12,300 vale 4 00:00:12,300 --> 00:00:14,679 hicimos 5 00:00:14,679 --> 00:00:16,699 os planteé dos enunciados 6 00:00:16,699 --> 00:00:18,440 uno para hacer con JDBC 7 00:00:18,440 --> 00:00:20,679 sin más y otro para hacer 8 00:00:20,679 --> 00:00:22,600 ya con Spring y con Spring JDBC 9 00:00:22,600 --> 00:00:25,059 que además tenía una transacción que había que gestionar 10 00:00:25,059 --> 00:00:28,699 vale, entonces hicimos el jueves 11 00:00:28,699 --> 00:00:30,539 este de aquí, con JDBC 12 00:00:30,539 --> 00:00:31,699 normal y corriente 13 00:00:31,699 --> 00:00:36,240 y la idea es que 14 00:00:36,240 --> 00:00:39,200 si lo habéis hecho con Spring 15 00:00:39,200 --> 00:00:41,259 y lo uséis este o cualquier otro enunciado 16 00:00:41,259 --> 00:00:42,679 que le pedís a GPTO a quien sea 17 00:00:42,679 --> 00:00:44,240 que uséis cualquier otro 18 00:00:44,240 --> 00:00:45,740 pero este al menos 19 00:00:45,740 --> 00:00:48,700 para aseguraos desde cero 20 00:00:48,700 --> 00:00:50,479 que todo lo de gestión de transacciones 21 00:00:50,479 --> 00:00:51,079 lo tenéis claro 22 00:00:51,079 --> 00:00:52,359 y Spring JDBC también 23 00:00:52,359 --> 00:00:53,799 intentáis hacer este 24 00:00:53,799 --> 00:00:54,600 todo desde cero 25 00:00:54,600 --> 00:00:55,859 vosotros hay pipipi 26 00:00:55,859 --> 00:00:57,460 ¿cómo? 27 00:00:58,020 --> 00:00:59,460 tratando de apoyaros 28 00:00:59,460 --> 00:01:01,100 en los proyectos 29 00:01:01,100 --> 00:01:03,140 que hemos hecho nosotros, en lugar 30 00:01:03,140 --> 00:01:05,040 de en ChaGPT, lógicamente, si os apoyáis 31 00:01:05,040 --> 00:01:07,239 en ChaGPT, aparte de que os lo va a hacer 32 00:01:07,239 --> 00:01:09,040 él, pues en el 33 00:01:09,040 --> 00:01:10,879 examen 34 00:01:10,879 --> 00:01:13,159 vais a trabajar apoyándoos en los 35 00:01:13,159 --> 00:01:14,980 otros proyectos, no en ChaGPT, 36 00:01:15,079 --> 00:01:16,959 con lo cual, pues tratad de hacer esos enunciados 37 00:01:16,959 --> 00:01:19,060 apoyándoos en los proyectos 38 00:01:19,060 --> 00:01:20,340 que ahí tenéis la información necesaria. 39 00:01:21,459 --> 00:01:23,120 Se puede sacar el siguiente 40 00:01:23,120 --> 00:01:24,379 ejercicio con la anterior. 41 00:01:24,579 --> 00:01:26,540 Claro, claro. Pero otra cosa es que luego, 42 00:01:26,939 --> 00:01:28,719 por supuesto, si es que queréis hacer lo mismo, 43 00:01:28,819 --> 00:01:30,480 este con JBC, que lo hicimos el jueves, 44 00:01:30,480 --> 00:01:32,640 antes de irnos y este era el 45 00:01:32,640 --> 00:01:34,680 con Spring JBC, que no lo 46 00:01:34,680 --> 00:01:36,480 resolvimos, que la idea es que lo resolváis 47 00:01:36,480 --> 00:01:38,359 ya no dio tiempo, por los pobres ya 48 00:01:38,359 --> 00:01:40,739 aguantasteis una hora 49 00:01:40,739 --> 00:01:42,140 y media, creo, o una hora 50 00:01:42,140 --> 00:01:44,900 vale 51 00:01:44,900 --> 00:01:46,379 pues nada, lo hacéis como 52 00:01:46,379 --> 00:01:48,519 autoevaluación, a ver si 53 00:01:48,519 --> 00:01:50,799 lo que hemos repasado hasta aquí 54 00:01:50,799 --> 00:01:52,120 está claro 55 00:01:52,120 --> 00:01:52,900 ¿vale? 56 00:01:54,079 --> 00:01:56,640 bueno, pues entonces, antes de pasar a esto 57 00:01:56,640 --> 00:01:57,519 de aquí abajo 58 00:01:57,519 --> 00:02:00,019 Ya que estamos con lo de los bins 59 00:02:00,019 --> 00:02:00,879 Y todo esto 60 00:02:00,879 --> 00:02:02,959 ¿Vale? Pues 61 00:02:02,959 --> 00:02:05,799 Spring teóricamente 62 00:02:05,799 --> 00:02:08,500 Nos ha facilitado 63 00:02:08,500 --> 00:02:09,379 Un poquito la vida 64 00:02:09,379 --> 00:02:12,099 En la inyección de 65 00:02:12,099 --> 00:02:19,039 ¿Dónde tengo el ejemplo? Aquí 66 00:02:19,039 --> 00:02:22,900 Pero hemos tenido que hacer esta clase 67 00:02:22,900 --> 00:02:23,539 Eso sí 68 00:02:23,539 --> 00:02:25,759 Hemos tenido que hacer esta clase 69 00:02:25,759 --> 00:02:28,080 La cual hemos marcado los bins, etc. 70 00:02:28,080 --> 00:02:32,479 bueno, pues como arrastrar esta 71 00:02:32,479 --> 00:02:34,379 configuración, arrastrar esta clase 72 00:02:34,379 --> 00:02:36,520 todo el rato, es feo 73 00:02:36,520 --> 00:02:37,719 o da pereza o lo que sea 74 00:02:37,719 --> 00:02:39,780 pues entonces 75 00:02:39,780 --> 00:02:42,439 viene Spring Boot 76 00:02:42,439 --> 00:02:44,539 que Spring Boot es 77 00:02:44,539 --> 00:02:46,740 el que te lo detecta 78 00:02:46,740 --> 00:02:48,039 todo, te lo hace todo 79 00:02:48,039 --> 00:02:50,500 te elige 80 00:02:50,500 --> 00:02:52,479 te instancia los bits cuando hagan 81 00:02:52,479 --> 00:02:54,219 falta, etc, Spring Boot 82 00:02:54,219 --> 00:02:56,360 entonces, ¿cómo podemos 83 00:02:56,360 --> 00:02:58,539 a hacer una aplicación con Spring Boot que nos permite 84 00:02:58,539 --> 00:03:00,419 ya ahorrarnos todo este rollo 85 00:03:00,419 --> 00:03:00,819 de aquí. 86 00:03:02,259 --> 00:03:03,439 Pues venga, a ver. 87 00:03:05,060 --> 00:03:06,439 Esta misma aplicación. 88 00:03:06,699 --> 00:03:08,379 A ver, es que la tenía hecha con la del taller, 89 00:03:08,599 --> 00:03:09,960 pero esa quiero que la hagáis vosotras. 90 00:03:10,300 --> 00:03:12,219 Vosotros. Y vosotres. 91 00:03:15,360 --> 00:03:16,800 Venga, pues arrancáis 92 00:03:16,800 --> 00:03:18,659 el Spring Tools. 93 00:03:19,599 --> 00:03:20,240 En realidad 94 00:03:20,240 --> 00:03:22,259 se puede hacer con el Eclipse igualmente, 95 00:03:22,719 --> 00:03:24,219 pero creando el proyecto 96 00:03:24,219 --> 00:03:26,199 con el Spring Tools, pues ya te 97 00:03:26,199 --> 00:03:28,240 da la arquitectura, te da 98 00:03:28,240 --> 00:03:30,620 la carpeta 99 00:03:30,620 --> 00:03:32,139 de resursos con un properties 100 00:03:32,139 --> 00:03:34,520 que tú ya añades lo que 101 00:03:34,520 --> 00:03:36,419 sea, te mete 102 00:03:36,419 --> 00:03:38,039 ya unas dependencias el solo 103 00:03:38,039 --> 00:03:40,560 por eso es lo de usar sprint tools 104 00:03:40,560 --> 00:03:42,479 en realidad, podríamos usar cualquier 105 00:03:42,479 --> 00:03:43,319 entorno de desarrollo 106 00:03:43,319 --> 00:03:58,409 que lo integre, venga 107 00:03:58,409 --> 00:04:01,680 lo tenéis abierto, si 108 00:04:01,680 --> 00:04:03,939 vale, pues 109 00:04:03,939 --> 00:04:06,039 por ejemplo, esto mismo 110 00:04:06,039 --> 00:04:07,800 de aquí, que nos va a permitir hacer copias 111 00:04:07,800 --> 00:04:09,379 y pegas y así lo acabamos rápido 112 00:04:09,379 --> 00:04:12,500 El ejemplo este de transacciones 113 00:04:12,500 --> 00:04:16,139 Si lo hacemos con Sprintools 114 00:04:16,139 --> 00:04:18,680 ¿Vale? La idea es ahorrarse esta clase 115 00:04:18,680 --> 00:04:19,199 Hemos dicho 116 00:04:19,199 --> 00:04:21,300 Pues vamos a hacer este mismo ejemplo 117 00:04:21,300 --> 00:04:23,100 Que era el de la venta de coches 118 00:04:23,100 --> 00:04:25,420 Que tenía el 119 00:04:25,420 --> 00:04:27,480 Servicio este 120 00:04:27,480 --> 00:04:31,980 Que tenía el servicio con una transacción 121 00:04:31,980 --> 00:04:33,420 Este mismo 122 00:04:33,420 --> 00:04:35,480 Con Sprintboot 123 00:04:35,480 --> 00:04:36,620 ¿En qué cambiaría? 124 00:04:36,620 --> 00:04:38,500 Pues venga 125 00:04:38,500 --> 00:04:39,819 Vamos a hacerlo 126 00:04:39,819 --> 00:04:41,339 Hacemos un nuevo 127 00:04:41,339 --> 00:04:46,060 Spring Starter Project 128 00:04:46,060 --> 00:04:47,939 Esto ya lo hicimos 129 00:04:47,939 --> 00:04:50,139 Cuando hicimos una aplicación web 130 00:04:50,139 --> 00:04:51,879 Con Spring 131 00:04:51,879 --> 00:04:53,939 ¿Vale? Que no tuviera 132 00:04:53,939 --> 00:04:56,300 Serlet, sino que tuviera el controller de Spring 133 00:04:56,300 --> 00:04:57,680 Ya lo hicimos 134 00:04:57,680 --> 00:04:58,800 Esto ya lo hemos hecho 135 00:04:58,800 --> 00:05:01,199 Hacer un proyecto así ya lo hemos hecho 136 00:05:01,199 --> 00:05:03,500 Para hacer una aplicación web 137 00:05:03,500 --> 00:05:05,459 Con un controller 138 00:05:05,459 --> 00:05:06,920 Que es el que 139 00:05:06,920 --> 00:05:09,680 Crear el serlet y todo ese rollo 140 00:05:09,680 --> 00:05:10,980 Bueno, ya volveremos a eso 141 00:05:10,980 --> 00:05:12,720 Vale, pues venga 142 00:05:12,720 --> 00:05:15,620 Esta new sprint, pues, nombre 143 00:05:15,620 --> 00:05:18,139 Unidad didáctica 2 144 00:05:18,139 --> 00:05:20,160 Para que se llame 145 00:05:20,160 --> 00:05:22,199 Igual que el otro y así no nos liemos 146 00:05:22,199 --> 00:05:25,019 JDBC 147 00:05:25,019 --> 00:05:26,360 Ejemplo 2, trans 148 00:05:26,360 --> 00:05:42,279 Vale, todo lo podemos dejar así 149 00:05:42,279 --> 00:05:47,220 ¿Cómo? ¿Dónde tengo? 150 00:05:47,220 --> 00:05:48,500 Ah, vale, vale 151 00:05:48,500 --> 00:05:49,879 Venga 152 00:05:49,879 --> 00:05:53,920 pues ventas 153 00:05:53,920 --> 00:06:01,389 venga, no app 154 00:06:01,389 --> 00:06:03,629 porque así queda más bonito 155 00:06:03,629 --> 00:06:06,839 vale, el paquete 156 00:06:06,839 --> 00:06:08,300 es este 157 00:06:08,300 --> 00:06:11,459 esta ya todo cambiado 158 00:06:11,459 --> 00:06:12,319 y bien puesto, ¿no? 159 00:06:13,379 --> 00:06:15,139 entonces, en realidad este ¿qué hace? 160 00:06:16,879 --> 00:06:17,959 pues se conecta 161 00:06:17,959 --> 00:06:19,420 a esta web 162 00:06:19,420 --> 00:06:21,439 que esta web 163 00:06:21,439 --> 00:06:23,160 es la web que te ofrece Spring 164 00:06:23,160 --> 00:06:25,519 para crearte un primer proyecto 165 00:06:25,519 --> 00:06:26,879 con su estructura básica 166 00:06:26,879 --> 00:06:29,259 Y que tú te lo descargues en un zip 167 00:06:29,259 --> 00:06:31,759 Pues el Sprintus o el Intel IES 168 00:06:31,759 --> 00:06:33,360 Si usáis ese que lo trae integrado 169 00:06:33,360 --> 00:06:34,779 Y todo eso, pues hacen eso 170 00:06:34,779 --> 00:06:36,920 Cogen ese proyecto 171 00:06:36,920 --> 00:06:38,839 Lo desempaquetan y te lo colocan aquí 172 00:06:38,839 --> 00:06:39,699 ¿Vale? 173 00:06:43,319 --> 00:06:43,839 ¿Perdón? 174 00:06:45,459 --> 00:06:47,699 Bueno, este en particular en Hardware 175 00:06:47,699 --> 00:06:49,060 Sería así con una aplicación web 176 00:06:49,060 --> 00:06:50,980 Esto no es una aplicación web 177 00:06:50,980 --> 00:06:53,439 Vale, pues venga 178 00:06:53,439 --> 00:06:55,860 Ahora, ¿qué dependencias vamos a usar aquí? 179 00:06:55,860 --> 00:06:58,300 Pues la de JDBC 180 00:06:58,300 --> 00:06:59,060 Sin duda 181 00:06:59,060 --> 00:07:02,600 Y el driver también 182 00:07:02,600 --> 00:07:03,199 Sin duda 183 00:07:03,199 --> 00:07:06,220 Me ofrece estas de aquí porque son las que usamos 184 00:07:06,220 --> 00:07:07,920 Cuando hicimos el controlador 185 00:07:07,920 --> 00:07:08,699 Spring Web 186 00:07:08,699 --> 00:07:10,360 Me ofrece estas 187 00:07:10,360 --> 00:07:13,800 Pero si no las tenéis porque nunca jamás habéis usado 188 00:07:13,800 --> 00:07:15,839 Spring Tools, pues las buscáis aquí 189 00:07:15,839 --> 00:07:18,139 En particular aparecerán 190 00:07:18,139 --> 00:07:19,240 En SQL 191 00:07:19,240 --> 00:07:22,319 En SQL 192 00:07:22,319 --> 00:07:23,420 Aparecen las dos 193 00:07:23,420 --> 00:07:27,720 Y aquí tenéis tropecientas 194 00:07:27,720 --> 00:07:33,560 Vale, pues estas dos básicas 195 00:07:33,560 --> 00:07:35,480 Otra cosa es que luego haga falta poner más 196 00:07:35,480 --> 00:07:36,500 Pues ya se verá 197 00:07:36,500 --> 00:07:38,779 Venga, next 198 00:07:38,779 --> 00:07:40,199 Y finish 199 00:07:40,199 --> 00:07:42,879 Y ahora ya se pone a 200 00:07:42,879 --> 00:07:45,240 Crearlo 201 00:07:45,240 --> 00:07:48,300 Está todavía 202 00:07:48,300 --> 00:08:02,930 Bueno, mientras termina voy a ir abriendo 203 00:08:02,930 --> 00:08:03,949 La base de datos 204 00:08:03,949 --> 00:08:29,670 API JDBC 205 00:08:29,670 --> 00:08:31,449 Y MySQL Driver 206 00:08:31,449 --> 00:08:33,970 Están, si no las tiene en el epígrafe 207 00:08:33,970 --> 00:08:34,429 SQL 208 00:08:34,429 --> 00:08:37,309 Bueno, ya está 209 00:08:37,309 --> 00:08:38,610 Es este de aquí abajo 210 00:08:38,610 --> 00:08:42,009 Vale, entonces 211 00:08:42,009 --> 00:08:45,309 Veis que automáticamente ha metido aquí 212 00:08:45,309 --> 00:08:47,269 Pues ya él un montón de dependencias 213 00:08:47,269 --> 00:08:48,549 Y de rollos, vale 214 00:08:48,549 --> 00:08:51,409 De Spring Boot, ya ha metido cosas 215 00:08:51,409 --> 00:08:53,309 Y el driver 216 00:08:53,309 --> 00:08:54,870 Otra cosa es que luego 217 00:08:54,870 --> 00:08:56,809 Nosotros necesitamos más, bueno, necesitamos más 218 00:08:56,809 --> 00:08:57,370 Las metemos 219 00:08:57,370 --> 00:09:00,909 Venga, pues nuestra aplicación 220 00:09:00,909 --> 00:09:02,129 Me ofrece ya 221 00:09:02,129 --> 00:09:04,610 esta clase main 222 00:09:04,610 --> 00:09:07,009 que yo lógicamente puedo cambiar 223 00:09:07,009 --> 00:09:09,370 entonces, para lanzar la aplicación 224 00:09:09,370 --> 00:09:12,990 este me devuelve 225 00:09:12,990 --> 00:09:15,389 el famoso inversor 226 00:09:15,389 --> 00:09:17,350 de control, lo que pasa es 227 00:09:17,350 --> 00:09:18,549 que él lo tira a la basura 228 00:09:18,549 --> 00:09:21,289 yo lo voy a recoger en algún 229 00:09:21,289 --> 00:09:23,149 sitio para luego a través de él pedirle 230 00:09:23,149 --> 00:09:25,210 bins o lo que sea, porque lo estoy haciendo en una aplicación 231 00:09:25,210 --> 00:09:27,149 de escritorio, podría hacerlo en otra 232 00:09:27,149 --> 00:09:29,169 arquitectura, hacer aquí un command 233 00:09:29,169 --> 00:09:31,110 runner o no sé qué, hacerlo de otra manera 234 00:09:31,110 --> 00:09:31,570 pero bueno 235 00:09:31,570 --> 00:09:34,909 vale, entonces voy a recoger 236 00:09:34,909 --> 00:09:36,990 el, veis aquí 237 00:09:36,990 --> 00:09:39,049 tiene la anotación de que es una aplicación 238 00:09:39,049 --> 00:09:41,269 Spring Boot, esta anotación es fundamental 239 00:09:41,269 --> 00:09:43,090 para que se lance 240 00:09:43,090 --> 00:09:44,850 solo ese bicho 241 00:09:44,850 --> 00:09:46,970 ese inversor de control que lo detecta 242 00:09:46,970 --> 00:09:48,389 todo y lo hace todo 243 00:09:48,389 --> 00:09:50,929 esa anotación es fundamental, entonces vamos a 244 00:09:50,929 --> 00:09:52,049 recoger antes de nada 245 00:09:52,049 --> 00:09:54,870 el inversor de control que me devuelve esto 246 00:09:54,870 --> 00:09:56,970 que creo que se llama 247 00:09:56,970 --> 00:09:58,809 así y si no lo copiamos de 248 00:09:58,809 --> 00:10:02,000 el otro proyecto 249 00:10:02,000 --> 00:10:03,399 Que lo teníamos ahí en el otro 250 00:10:03,399 --> 00:10:12,000 Está 251 00:10:12,000 --> 00:10:13,639 Es que esto nunca me lo ofrece 252 00:10:13,639 --> 00:10:14,340 Pero 253 00:10:14,340 --> 00:10:17,779 El punto arranque 254 00:10:17,779 --> 00:10:18,320 De un 255 00:10:18,320 --> 00:10:20,320 Configuration 256 00:10:20,320 --> 00:10:22,519 Sí, pero 257 00:10:22,519 --> 00:10:25,299 Creo que es una implementación de esto 258 00:10:25,299 --> 00:10:27,299 Configurable 259 00:10:27,299 --> 00:10:29,940 Application 260 00:10:29,940 --> 00:10:31,019 Context 261 00:10:31,019 --> 00:10:32,220 O sea 262 00:10:32,220 --> 00:10:35,500 Bueno, venga, se lo pongo 263 00:10:35,500 --> 00:10:36,539 Esa directamente 264 00:10:36,539 --> 00:10:41,120 Figurable 265 00:10:41,120 --> 00:10:47,440 Vale, pero 266 00:10:47,440 --> 00:10:49,799 ApplicationContext también existe, juraría 267 00:10:49,799 --> 00:10:51,179 Que es una super clase 268 00:10:51,179 --> 00:10:53,399 Voy a ponerlo un poco por curiosidad 269 00:10:53,399 --> 00:10:54,639 Porque es que 270 00:10:54,639 --> 00:11:00,490 A ver 271 00:11:00,490 --> 00:11:05,519 Spring Framework 272 00:11:05,519 --> 00:11:07,240 Punto 273 00:11:07,240 --> 00:11:08,000 Con 274 00:11:08,000 --> 00:11:11,340 Punto Context 275 00:11:13,279 --> 00:11:15,320 .applicationContext 276 00:11:15,320 --> 00:11:16,980 Es que yo no sé, nunca me lo ofrece 277 00:11:16,980 --> 00:11:19,600 Y sí que existe, pero bueno, da igual 278 00:11:19,600 --> 00:11:21,840 Ponemos esa y se acabó 279 00:11:21,840 --> 00:11:22,440 Vale 280 00:11:22,440 --> 00:11:24,460 ¿Eh? 281 00:11:27,159 --> 00:11:27,600 ApplicationContext 282 00:11:27,600 --> 00:11:28,639 Es la super clase 283 00:11:28,639 --> 00:11:31,799 Entonces yo siempre por comodidad 284 00:11:31,799 --> 00:11:33,720 Siempre pongo esa, pero vamos 285 00:11:33,720 --> 00:11:35,899 Vale, pues ya está 286 00:11:35,899 --> 00:11:37,120 Entonces ahora ya vamos a 287 00:11:37,120 --> 00:11:38,720 El resto de cosas vamos a copiarlas 288 00:11:38,720 --> 00:11:40,779 La básica, el modelo, pues venga 289 00:11:40,779 --> 00:11:44,269 Aquí 290 00:11:44,269 --> 00:11:47,169 primera cosa 291 00:11:47,169 --> 00:11:49,429 si yo hago esto 292 00:11:49,429 --> 00:11:52,490 y pongo ahí el modelo 293 00:11:52,490 --> 00:11:54,169 la he 294 00:11:54,169 --> 00:11:55,950 jodido pero bien 295 00:11:55,950 --> 00:11:58,029 porque Spring Boot 296 00:11:58,029 --> 00:11:59,590 necesita 297 00:11:59,590 --> 00:12:01,629 que todo cuelgue 298 00:12:01,629 --> 00:12:04,110 de la clase que está anotada con Spring Boot 299 00:12:04,110 --> 00:12:06,049 Application, es decir 300 00:12:06,049 --> 00:12:08,190 esta, entonces tendré 301 00:12:08,190 --> 00:12:10,590 que hacer com.andos.app.model 302 00:12:10,590 --> 00:12:12,049 es decir, Spring Boot 303 00:12:12,049 --> 00:12:14,190 hace cosas solo, pero tienes que respetar 304 00:12:14,190 --> 00:12:16,169 sus reglas estrictamente, como alguna 305 00:12:16,169 --> 00:12:17,450 regla te la saltes 306 00:12:17,450 --> 00:12:19,269 es imposible 307 00:12:19,269 --> 00:12:22,389 entonces, cuando no usas 308 00:12:22,389 --> 00:12:24,450 Spring Boot, la estructura 309 00:12:24,450 --> 00:12:26,169 de paquetes haces la que te da la gana 310 00:12:26,169 --> 00:12:28,190 porque tú ya haces en la configuración 311 00:12:28,190 --> 00:12:30,250 pones en bin la clase y le dices 312 00:12:30,250 --> 00:12:32,269 donde está y todo, pero aquí 313 00:12:32,269 --> 00:12:34,029 no, entonces 314 00:12:34,029 --> 00:12:36,350 este com.dam2.model 315 00:12:37,169 --> 00:12:38,190 no lo queremos 316 00:12:38,190 --> 00:12:43,000 entonces 317 00:12:43,000 --> 00:12:53,019 vale, ahí vamos a copiar 318 00:12:53,019 --> 00:12:53,659 y pegar 319 00:12:53,659 --> 00:12:56,899 Las de este 320 00:12:56,899 --> 00:13:00,149 Que era una solo 321 00:13:00,149 --> 00:13:04,899 Copiamos 322 00:13:04,899 --> 00:13:09,159 Pegamos 323 00:13:09,159 --> 00:13:10,759 Ahora 324 00:13:10,759 --> 00:13:13,840 Este es el modelo nuestro 325 00:13:13,840 --> 00:13:14,700 Vale 326 00:13:14,700 --> 00:13:19,840 Acordaos de cambiar el paquete y ya está 327 00:13:19,840 --> 00:13:21,679 Nuestro modelo, la clase venta 328 00:13:21,679 --> 00:13:24,179 Que se corresponde a la base, a la tabla de aquí 329 00:13:24,179 --> 00:13:36,750 La habíamos llamado coches, ¿verdad? 330 00:13:37,789 --> 00:13:38,110 Sí 331 00:13:38,110 --> 00:13:40,470 Se corresponde 332 00:13:40,470 --> 00:13:44,059 Con esta 333 00:13:44,059 --> 00:13:45,279 Esta de aquí 334 00:13:45,279 --> 00:13:47,340 Vale, el modelo 335 00:13:47,340 --> 00:13:49,340 Bueno, pues ahora vamos a hacer un DAO 336 00:13:49,340 --> 00:13:51,759 Para acceder a esta base de datos 337 00:13:51,759 --> 00:13:53,659 Entonces 338 00:13:53,659 --> 00:13:56,659 El DAO, también vamos a hacer un copia y pega 339 00:13:56,659 --> 00:13:58,960 ¿Podré copiar y pegar un paquete entero? 340 00:13:59,019 --> 00:13:59,679 Yo creo que no, ¿no? 341 00:14:00,379 --> 00:14:01,940 ¿Puedo copiar y pegar un paquete? 342 00:14:02,600 --> 00:14:03,559 ¿Y luego cambiarle el nombre? 343 00:14:04,480 --> 00:14:05,340 Vamos a ver 344 00:14:05,340 --> 00:14:07,779 Copio 345 00:14:07,779 --> 00:14:14,679 Y lo 346 00:14:14,679 --> 00:14:16,740 Es que no me va a hacer algo raro 347 00:14:16,740 --> 00:14:18,460 En la estructura de carpetas 348 00:14:18,460 --> 00:14:20,559 Es que me lo ha copiado 349 00:14:20,559 --> 00:14:22,279 Pero bueno, le puedo cambiar el nombre aquí, ¿no? 350 00:14:22,980 --> 00:14:24,700 A ver, refactor rename 351 00:14:24,700 --> 00:14:30,059 Con punto 352 00:14:30,059 --> 00:14:32,179 Dan 2, punto dao 353 00:14:32,179 --> 00:14:34,679 A punto 354 00:14:34,679 --> 00:14:35,340 Up 355 00:14:35,340 --> 00:14:37,059 Punto dao 356 00:14:37,059 --> 00:14:41,940 Y ahora, venta dao 357 00:14:41,940 --> 00:14:42,919 Vale, muy bien 358 00:14:42,919 --> 00:14:46,379 El venta dao implementación 359 00:14:46,379 --> 00:14:47,919 Pues lo mismo, vamos a copiarlo 360 00:14:47,919 --> 00:14:49,539 Y pegarlo y cambiarlo de nombre 361 00:14:49,539 --> 00:14:53,279 copiar 362 00:14:53,279 --> 00:15:00,919 pegamos 363 00:15:00,919 --> 00:15:02,840 y cambiamos 364 00:15:02,840 --> 00:15:10,190 punto app 365 00:15:10,190 --> 00:15:12,129 punto dao 366 00:15:12,129 --> 00:15:14,529 implementación 367 00:15:14,529 --> 00:15:15,730 por ejemplo 368 00:15:15,730 --> 00:15:19,629 vale 369 00:15:19,629 --> 00:15:28,440 aquí voy a cambiar 370 00:15:28,440 --> 00:15:30,220 esto 371 00:15:30,220 --> 00:15:37,230 y esto 372 00:15:37,230 --> 00:15:39,690 y luego aparte 373 00:15:39,690 --> 00:15:42,029 ya está, no tengo que cambiar nada más 374 00:15:42,029 --> 00:15:43,950 vale 375 00:15:43,950 --> 00:15:45,570 Ya está 376 00:15:45,570 --> 00:15:48,009 Entonces este va a necesitar este de aquí 377 00:15:48,009 --> 00:15:50,110 Va a necesitar este 378 00:15:50,110 --> 00:15:52,230 Spring lo va a tener que inyectar 379 00:15:52,230 --> 00:15:53,990 Pero todavía no hemos puesto ningún 380 00:15:53,990 --> 00:15:56,830 Ninguna clase de configuración 381 00:15:56,830 --> 00:15:57,330 Ni de nada 382 00:15:57,330 --> 00:15:59,309 Venta de implementación, ya está 383 00:15:59,309 --> 00:16:00,350 Sería esto 384 00:16:00,350 --> 00:16:03,549 Vale, y nos falta 385 00:16:03,549 --> 00:16:06,049 El servicio de la otra 386 00:16:06,049 --> 00:16:09,200 Porque el main 387 00:16:09,200 --> 00:16:11,419 No nos hace falta, ya tenemos nuestro propio main 388 00:16:11,419 --> 00:16:13,659 Y la clase de configuración esta 389 00:16:13,659 --> 00:16:15,440 Es de la que vamos a pasar completamente 390 00:16:15,440 --> 00:16:18,600 Luego nos falta solo el paquete de servicio 391 00:16:18,600 --> 00:16:34,029 Pues a ver 392 00:16:34,029 --> 00:16:52,009 Con punto 393 00:16:52,009 --> 00:16:52,830 Dan 2 394 00:16:52,830 --> 00:16:53,929 Punto app 395 00:16:53,929 --> 00:16:56,210 Punto service 396 00:16:56,210 --> 00:17:01,360 Y ahora esta clase 397 00:17:01,360 --> 00:17:02,679 Ventas service 398 00:17:02,679 --> 00:17:10,549 Le cambiamos esto 399 00:17:10,549 --> 00:17:13,130 Y todo lo demás ya se queda bien 400 00:17:13,130 --> 00:17:17,809 Vale, pues la aplicación es la misma 401 00:17:17,809 --> 00:17:20,089 Pero nos estamos olvidando de toda la parte 402 00:17:20,089 --> 00:17:20,430 De 403 00:17:20,430 --> 00:17:24,589 configuración 404 00:17:24,589 --> 00:17:25,849 de los bins, ahora 405 00:17:25,849 --> 00:17:31,759 vamos a llamar al servicio desde aquí 406 00:17:31,759 --> 00:17:33,500 vale, pues vamos a sacar 407 00:17:33,500 --> 00:17:37,220 el bin, vale 408 00:17:37,220 --> 00:17:41,190 entonces, si yo quiero 409 00:17:41,190 --> 00:17:43,589 llamar 410 00:17:43,589 --> 00:17:45,670 a la operación correspondiente 411 00:17:45,670 --> 00:17:47,690 pues me voy 412 00:17:47,690 --> 00:17:48,829 a crear el 413 00:17:48,829 --> 00:17:52,799 context 414 00:17:52,799 --> 00:17:58,950 sí.get 415 00:17:58,950 --> 00:18:00,049 bin 416 00:18:00,049 --> 00:18:02,170 y ahora 417 00:18:02,170 --> 00:18:06,329 ventas, un segundo 418 00:18:06,329 --> 00:18:08,910 ventaservice 419 00:18:08,910 --> 00:18:10,589 se llama punto 420 00:18:10,589 --> 00:18:11,490 class 421 00:18:11,490 --> 00:18:16,490 es ventas, seguro 422 00:18:16,490 --> 00:18:17,490 no es venta 423 00:18:17,490 --> 00:18:27,440 que querías que abriera 424 00:18:27,440 --> 00:18:39,019 vale 425 00:18:39,019 --> 00:18:42,240 entonces yo ahora ya con el servicio 426 00:18:42,240 --> 00:18:43,740 pues ya haría lo que me diera la gana 427 00:18:43,740 --> 00:18:46,119 que en este caso 428 00:18:46,119 --> 00:18:47,880 el único método que me ofrece es este 429 00:18:47,880 --> 00:18:49,619 ¿No? Pues por ejemplo 430 00:18:49,619 --> 00:18:50,559 Vamos a cambiar 431 00:18:50,559 --> 00:18:53,680 El 5 por el 6 432 00:18:53,680 --> 00:18:55,180 5, 6 433 00:18:55,180 --> 00:18:57,420 5 434 00:18:57,420 --> 00:18:58,819 6 435 00:18:58,819 --> 00:19:03,869 Vale 436 00:19:03,869 --> 00:19:05,349 Pero aquí 437 00:19:05,349 --> 00:19:07,569 Lógicamente echáis algo 438 00:19:07,569 --> 00:19:08,910 Y la aplicación se ha acabado 439 00:19:08,910 --> 00:19:10,109 Ya está 440 00:19:10,109 --> 00:19:12,910 Y hemos hecho en un pispás el DAO y todo 441 00:19:12,910 --> 00:19:14,410 Pero echáis algo en falta 442 00:19:14,410 --> 00:19:17,509 Toda la parte engorrosa relacionada con la conexión 443 00:19:17,509 --> 00:19:19,170 Es decir, pero vamos a ver 444 00:19:19,170 --> 00:19:21,150 Este da implementación 445 00:19:21,150 --> 00:19:24,630 Usa un JDBC template 446 00:19:24,630 --> 00:19:27,470 Pero ¿y este JDBC template de dónde sale? 447 00:19:27,589 --> 00:19:29,930 Este JDBC template hasta ahora lo hemos hecho a mano 448 00:19:29,930 --> 00:19:32,369 Lo hemos hecho a través de una conexión 449 00:19:32,369 --> 00:19:33,289 De un data source 450 00:19:33,289 --> 00:19:35,369 ¿Dónde lo hemos hecho? 451 00:19:35,490 --> 00:19:37,029 O a mano directamente 452 00:19:37,029 --> 00:19:38,609 O si teníamos sprint 453 00:19:38,609 --> 00:19:42,130 En la clase de configuración de sprint 454 00:19:42,130 --> 00:19:43,210 Pero en algún sitio 455 00:19:43,210 --> 00:19:45,049 Lo hemos puesto 456 00:19:45,049 --> 00:19:46,190 ¿Vale? 457 00:19:46,569 --> 00:19:48,809 Bueno, pues aquí sprint no hace falta 458 00:19:48,809 --> 00:19:51,490 Spring lo va a crear solo 459 00:19:51,490 --> 00:19:52,910 cuando haga falta 460 00:19:52,910 --> 00:19:55,549 y decimos, vale, muy bien, lo va a crear 461 00:19:55,549 --> 00:19:57,109 él solo, pero ¿dónde sabe 462 00:19:57,109 --> 00:19:59,250 a qué conexión tiene que engancharlo? 463 00:19:59,349 --> 00:20:01,390 Yo no le he dicho ni URL 464 00:20:01,390 --> 00:20:03,569 ni puerto ni base de datos, ¿cómo lo sabe? 465 00:20:04,250 --> 00:20:05,710 Pues desde luego no se lo decimos 466 00:20:05,710 --> 00:20:07,670 por código, se lo decimos 467 00:20:07,670 --> 00:20:09,329 a través de este fichero que 468 00:20:09,329 --> 00:20:11,670 él me ha metido aquí al que yo no le he hecho ni caso 469 00:20:11,670 --> 00:20:13,910 cuando hemos hecho el proyecto 470 00:20:13,910 --> 00:20:15,390 él me ha creado este fichero 471 00:20:15,390 --> 00:20:17,609 pues aquí es donde 472 00:20:17,609 --> 00:20:19,609 tenemos que ponerle a través 473 00:20:19,609 --> 00:20:21,890 de unos nombres estándar de propiedad, 474 00:20:22,049 --> 00:20:23,589 los tengo que respetar para que Spring Boot 475 00:20:23,589 --> 00:20:25,470 se entere, le tengo que dar los datos. 476 00:20:26,430 --> 00:20:27,490 Vale, pues por ejemplo 477 00:20:27,490 --> 00:20:29,789 se lo podría escribir así. A ver, un momento 478 00:20:29,789 --> 00:20:30,349 que los 479 00:20:30,349 --> 00:20:33,650 copio de por aquí. 480 00:20:45,470 --> 00:20:46,970 Vale, pues estos serían los básicos. 481 00:20:49,960 --> 00:20:50,519 Luego yo puedo 482 00:20:50,519 --> 00:20:53,059 configurar Spring Boot con muchas más propiedades 483 00:20:53,059 --> 00:20:54,859 y más cosas, con un montón de cosas. 484 00:20:55,539 --> 00:20:56,740 Esto es el básico, que es la 485 00:20:56,740 --> 00:20:59,079 conexión, la url 486 00:20:59,079 --> 00:21:00,720 username, password y driver 487 00:21:00,720 --> 00:21:01,940 y ya está 488 00:21:01,940 --> 00:21:03,839 y él instancia 489 00:21:03,839 --> 00:21:06,759 ya lo que necesite relacionado 490 00:21:06,759 --> 00:21:08,720 con la conexión, entonces aquí voy a 491 00:21:08,720 --> 00:21:10,720 cambiar porque esto no era taller mecánico 492 00:21:10,720 --> 00:21:11,720 sino que era coches 493 00:21:11,720 --> 00:21:22,470 estas propiedades las voy a quitar 494 00:21:22,470 --> 00:21:24,589 si luego me da error se las pongo 495 00:21:24,589 --> 00:21:31,660 si, yo creo que si, pero vamos a 496 00:21:31,660 --> 00:21:32,880 esperar que nos vaya pidiendo 497 00:21:32,880 --> 00:21:39,440 vale, pues entonces esto sería 498 00:21:39,440 --> 00:21:41,220 lo básico 499 00:21:41,220 --> 00:21:43,240 conexión, o sea, 500 00:21:43,299 --> 00:21:45,059 URL, password, 501 00:21:45,220 --> 00:21:46,180 contraseña y driver. 502 00:21:47,140 --> 00:21:48,680 ¿Vale? Ahora que lo tengáis copiado, 503 00:21:49,700 --> 00:21:50,920 comentamos una cosa. 504 00:22:48,069 --> 00:22:48,589 Vale, está. 505 00:22:59,740 --> 00:23:01,380 Si no, siempre le podéis decir a esta GPT, 506 00:23:01,519 --> 00:23:02,920 dame un B de Properties Standard. 507 00:23:03,339 --> 00:23:04,920 Copiáis y pegáis y lo voy a cambiar. 508 00:23:08,200 --> 00:23:09,799 Pero vamos, yo creo que ya lo tenéis copiado. 509 00:23:13,289 --> 00:23:14,549 Vale, pues como veis, 510 00:23:14,549 --> 00:23:16,609 solo le estamos informando de esto. 511 00:23:17,269 --> 00:23:18,890 De los datos de la conexión. 512 00:23:19,430 --> 00:23:20,309 Y no le hemos dicho 513 00:23:20,309 --> 00:23:21,509 absolutamente nada más. 514 00:23:22,349 --> 00:23:23,990 Nuestra aplicación, ¿dónde arranca? 515 00:23:24,069 --> 00:23:26,789 Arranca aquí, creando el servicio. 516 00:23:28,829 --> 00:23:30,750 Esto se podría hacer dentro de un control, 517 00:23:30,869 --> 00:23:32,569 en una aplicación web, en un montón de sitios. 518 00:23:32,670 --> 00:23:34,230 Aquí lo tenemos puesto a lo bestia en un main, 519 00:23:34,569 --> 00:23:35,990 que es bastante horroroso. 520 00:23:36,769 --> 00:23:39,269 Crear un servicio directamente en un main es un poco feo, 521 00:23:39,349 --> 00:23:40,789 pero bueno, lo que nos importa es probar. 522 00:23:41,329 --> 00:23:43,049 Vale, pues entonces la aplicación arranca aquí. 523 00:23:43,049 --> 00:23:47,210 Y lo primero que hace Spring Boot es, 524 00:23:47,670 --> 00:23:49,250 ah, necesitas un ventaservice. 525 00:23:49,490 --> 00:23:51,069 No te preocupes que te lo voy a instanciar. 526 00:23:51,250 --> 00:23:52,130 Es el que se instancia. 527 00:23:52,349 --> 00:23:56,309 Vale, pues entonces, cuando intenta instanciar un venta 528 00:23:56,309 --> 00:23:59,990 service, ve que necesita un venta dado. 529 00:24:01,009 --> 00:24:05,490 Bueno, vale, pues instancia la implementación que encuentre 530 00:24:05,490 --> 00:24:06,130 de venta dado. 531 00:24:06,250 --> 00:24:08,809 Aquí está puesta la interfaz, pero él busca, lógicamente, 532 00:24:08,869 --> 00:24:10,369 una implementación de esa interfaz. 533 00:24:11,390 --> 00:24:14,230 Pues se va a esta implementación de venta dado. 534 00:24:14,950 --> 00:24:16,890 Aquí ve que necesita un JDBC template. 535 00:24:18,769 --> 00:24:20,910 Pues instancia un JDBC template. 536 00:24:20,910 --> 00:24:23,230 y aquí es donde vienen las dudas 537 00:24:23,230 --> 00:24:24,829 porque, vamos a ver 538 00:24:24,829 --> 00:24:27,670 un JDBC template está asociado a una conexión 539 00:24:27,670 --> 00:24:28,710 o a un pool 540 00:24:28,710 --> 00:24:30,130 ¿cómo lo hago? 541 00:24:30,869 --> 00:24:33,309 pues él por defecto, creo recordar 542 00:24:33,309 --> 00:24:35,230 pero lo podemos comprar ahora mismo 543 00:24:35,230 --> 00:24:37,430 por defecto, a menos que tú 544 00:24:37,430 --> 00:24:38,869 no lo cambies en el properties 545 00:24:38,869 --> 00:24:41,410 él te va a instanciar un pool 546 00:24:41,410 --> 00:24:42,109 ICARI 547 00:24:42,109 --> 00:24:45,230 asociado a la base de datos que le has puesto 548 00:24:45,230 --> 00:24:47,089 en el properties, por defecto 549 00:24:47,089 --> 00:24:48,029 un pool de ICARI 550 00:24:48,029 --> 00:24:49,329 asociado a conexión 551 00:24:49,329 --> 00:24:54,509 Claro, tú no escribes, tú no construyes 552 00:24:54,509 --> 00:24:56,170 el pool, no construyes 553 00:24:56,170 --> 00:24:58,029 nada. Tú dices 554 00:24:58,029 --> 00:24:59,529 cuando quieras un ventadado 555 00:24:59,529 --> 00:25:01,769 no hay uno de estos. 556 00:25:01,990 --> 00:25:03,349 Pues Spring Boot te lo instancia 557 00:25:03,349 --> 00:25:06,250 con los datos que hayamos puesto aquí. 558 00:25:07,029 --> 00:25:07,829 Con estos. 559 00:25:08,450 --> 00:25:09,890 Que si tú no has puesto nada más 560 00:25:09,890 --> 00:25:11,829 es un pool y cari 561 00:25:11,829 --> 00:25:14,150 hace esta conexión. Que queremos que no sea un pool 562 00:25:14,150 --> 00:25:15,269 sino una conexión única. 563 00:25:16,029 --> 00:25:18,269 Pues a través de la propiedad correspondiente se lo ponemos. 564 00:25:18,269 --> 00:25:19,750 Que es un data show, no sé qué 565 00:25:19,750 --> 00:25:21,990 Si queremos que sea un pool de otro tipo 566 00:25:21,990 --> 00:25:23,450 En lugar de ICAR y le ponemos aquí 567 00:25:23,450 --> 00:25:24,529 Es un pool de otro tipo 568 00:25:24,529 --> 00:25:28,789 Aquí esto ya admite un montón de configuraciones específicas 569 00:25:28,789 --> 00:25:30,390 Pero esto es lo más básico 570 00:25:30,390 --> 00:25:31,630 Y por defecto te dice, vale 571 00:25:31,630 --> 00:25:34,309 Pues la aplicación ya está 572 00:25:34,309 --> 00:25:36,369 Hemos hecho todo esto 573 00:25:36,369 --> 00:25:38,829 Olvidándonos completamente 574 00:25:38,829 --> 00:25:40,809 De toda la parte sucia 575 00:25:40,809 --> 00:25:43,769 De crear las conexiones 576 00:25:43,769 --> 00:25:45,589 Los trycatch, etc 577 00:25:45,589 --> 00:25:46,950 La parte sucia 578 00:25:46,950 --> 00:25:58,650 Y esto teóricamente debería funcionar a falta de que aquí efectivamente a la conexión le falten parámetros que seguramente le falte, pero vamos a ver si nos los pide. 579 00:26:00,089 --> 00:26:14,809 Venga, la vamos a arrancar como aplicación Spring Boot Application y arranca como aplicación Spring Boot y procesamos, provocamos error en cambio de escaparate. 580 00:26:14,809 --> 00:26:21,000 Ah bueno, pero este es el error que hemos provocado nosotros 581 00:26:21,000 --> 00:26:22,720 Provocamos el error 582 00:26:22,720 --> 00:26:23,859 ¿Vale? Pero la aplicación 583 00:26:23,859 --> 00:26:26,619 Claro, para que hiciera el rollback 584 00:26:26,619 --> 00:26:28,859 ¿Vale? Entonces, espera, voy a quitarlo 585 00:26:28,859 --> 00:26:33,019 Voy a quitarlo 586 00:26:33,019 --> 00:26:35,539 Este throw fuera 587 00:26:35,539 --> 00:26:38,779 ¿Vale? Le ha gustado la cadena de conexión 588 00:26:38,779 --> 00:26:40,440 No nos ha pedido ningún parámetro 589 00:26:40,440 --> 00:26:42,740 Vale, entonces vamos a 590 00:26:42,740 --> 00:26:44,799 Asegurarnos de que hace el cambio 591 00:26:44,799 --> 00:26:51,480 Cambia el 5 por el 6 592 00:26:51,480 --> 00:26:52,440 Ahora mismo están 593 00:26:52,440 --> 00:26:54,900 0 y 1 594 00:26:54,900 --> 00:26:56,180 Tendrán que ponerse a 1, 0 595 00:26:56,180 --> 00:26:59,220 Pues venga, vamos a 596 00:26:59,220 --> 00:27:06,259 Vale 597 00:27:06,259 --> 00:27:09,619 Lo ha hecho, no ha salido ningún error 598 00:27:09,619 --> 00:27:15,480 Eso sí, no nos ha cambiado esto 599 00:27:15,480 --> 00:27:17,680 No le cambies el estado 600 00:27:17,680 --> 00:27:21,230 Le dices si esto es 0 y esto es 1 601 00:27:21,230 --> 00:27:23,210 O sea, no dices si es 0 eso ni si es 1 602 00:27:23,210 --> 00:27:24,869 Ah, ¿no hacíamos eso en el método? 603 00:27:25,569 --> 00:27:27,329 Sí, pues el primero, lo pongo cero y el siguiente. 604 00:27:28,289 --> 00:27:29,569 ¿Cómo se exporta la base de datos? 605 00:27:29,670 --> 00:27:31,789 Que yo no tengo base de datos creada y me la quería pasar a la. 606 00:27:32,630 --> 00:27:40,250 Vale, te puedes hacer en data, aquí, en database, 607 00:27:40,490 --> 00:27:42,369 lo mismo que hacíamos para la ingeniería inversa, 608 00:27:43,309 --> 00:27:49,589 pero no haces lo de, a partir de aquí, por ejemplo, coches. 609 00:27:50,210 --> 00:27:52,730 Bueno, te haces ingeniería inversa. 610 00:27:54,839 --> 00:27:59,549 o sea, dices el script 611 00:27:59,549 --> 00:28:00,309 que hace el esquema 612 00:28:00,309 --> 00:28:05,049 sí, pero el script que hace las tablas 613 00:28:05,049 --> 00:28:07,069 el create table y todo eso, te refieres 614 00:28:07,069 --> 00:28:09,710 pues con la ingeniería 615 00:28:09,710 --> 00:28:11,329 inversa, con la que hacíamos 616 00:28:11,329 --> 00:28:12,130 el diagramita 617 00:28:12,130 --> 00:28:14,869 entonces te vas aquí a coches 618 00:28:14,869 --> 00:28:16,970 esta es la forma con la que yo lo hago siempre 619 00:28:16,970 --> 00:28:20,529 y ahora 620 00:28:20,529 --> 00:28:25,910 que no me los coloque 621 00:28:25,910 --> 00:28:27,849 patatines, finis 622 00:28:27,849 --> 00:28:29,369 Y ahora aquí 623 00:28:29,369 --> 00:28:35,200 Tú haces 624 00:28:35,200 --> 00:28:37,000 Copy SQL to Clipboard 625 00:28:37,000 --> 00:28:40,470 Y ya lo tendrías ahí 626 00:28:40,470 --> 00:28:43,920 Te haces el CreateTable 627 00:28:43,920 --> 00:28:45,000 Pero 628 00:28:45,000 --> 00:28:48,539 Eso sí, lo tienes que hacer 629 00:28:48,539 --> 00:28:50,039 De una por una 630 00:28:50,039 --> 00:28:51,619 Bueno, aquí hay una tabla solo 631 00:28:51,619 --> 00:28:54,619 Pero si hubiera más de una tabla, te aparecerían varias tablas 632 00:28:54,619 --> 00:28:56,220 Y de una a una 633 00:28:56,220 --> 00:28:57,720 Tendrías que ir haciendo CopySQL 634 00:28:57,720 --> 00:28:59,480 Para tener todos los CreateTables 635 00:28:59,480 --> 00:29:01,400 Y luego todos esos CreateTables 636 00:29:01,400 --> 00:29:03,160 Lo vas pegando en un ficherito y ya está 637 00:29:03,160 --> 00:29:04,000 ¿Vale? 638 00:29:04,599 --> 00:29:14,940 Entonces, bueno, la aplicación ha funcionado, pero no nos ha hecho nada porque lo único que hacía el método este, hemos dicho, es poner el primero a cero y el segundo a uno. 639 00:29:15,299 --> 00:29:15,539 Vale. 640 00:29:17,319 --> 00:29:17,759 Vale. 641 00:29:17,940 --> 00:29:23,119 Entonces, si cambiáramos este a uno y este a cero, ahora ya sí veríamos algo. 642 00:29:38,279 --> 00:29:39,259 Vale, ahora sí lo ha cambiado. 643 00:29:40,859 --> 00:29:41,880 Vale, pues ya está. 644 00:29:41,980 --> 00:29:44,220 Como veis, hacer una aplicación con Spring Boot es muy fácil. 645 00:29:44,940 --> 00:29:48,240 Eso sí, tienes que configurar el fichero base de datos de properties. 646 00:29:48,240 --> 00:29:50,200 bien configurado y luego hacer la parte 647 00:29:50,200 --> 00:29:51,559 de código, que es la que importa, 648 00:29:51,960 --> 00:29:54,160 lógicamente, la implementación es de los DAO 649 00:29:54,160 --> 00:29:55,440 y de los servicios bien hechas. 650 00:29:56,059 --> 00:29:56,259 Dime. 651 00:29:58,640 --> 00:29:59,660 El main, 652 00:30:03,970 --> 00:30:05,069 ¿vale? Tiene esto de aquí. 653 00:30:06,369 --> 00:30:07,450 Bueno, un segundito, que