1 00:00:00,000 --> 00:00:09,740 Venga, vamos a ver, realmente contenidos no son muchos, lo que tenemos que ver de acceso a bases de datos relacionales. 2 00:00:09,740 --> 00:00:21,920 No, el primer RA sí que dije que eran como muchas cositas sueltas, entonces eso tiene un efecto sinérgico que despista, esto es más concreto, ¿vale? 3 00:00:21,920 --> 00:00:43,259 ¿Por qué? Para empezar, lo que es una base de datos relacional, todos lo sabéis, ahí no hay que meterse, y conocéis SQL, ahí no hay que meterse, y a ver, nosotros no nos va a preocupar hacer sentencias gordas o no, sino cómo ejecutar sentencias, nada igual, nada más, ¿vale? 4 00:00:43,259 --> 00:00:56,039 Entonces, las bases de datos relacionales pues hicieron magia en realidad, porque tienen más años que la TANA y ahí siguen y ahí siguen y ahí siguen y es complicadísimo quitárselas de encima, no hay manera. 5 00:00:56,039 --> 00:00:57,539 las bases de datos 6 00:00:57,539 --> 00:00:59,759 porque cuando la programación orientada a objetos 7 00:00:59,759 --> 00:01:01,520 pues bueno, no hace falta parar 8 00:01:01,520 --> 00:01:03,100 porque en total hemos estampado las reglas 9 00:01:03,100 --> 00:01:06,739 cuando la programación orientada a objetos 10 00:01:06,739 --> 00:01:08,319 se quedó 11 00:01:08,319 --> 00:01:10,359 de alguna manera, se quedó instalada 12 00:01:10,359 --> 00:01:12,799 en el desarrollo de aplicaciones comerciales 13 00:01:12,799 --> 00:01:14,400 pues efectivamente, rápidamente 14 00:01:14,400 --> 00:01:15,900 se identificó el desfase 15 00:01:15,900 --> 00:01:18,239 el desfase que se llama 16 00:01:18,239 --> 00:01:19,980 objeto relacional, que es Polines 17 00:01:19,980 --> 00:01:21,780 tengo una aplicación basada en objetos 18 00:01:21,780 --> 00:01:23,260 que tienen propiedades dentro 19 00:01:23,260 --> 00:01:25,980 y esos objetos tienen objetos dentro 20 00:01:25,980 --> 00:01:27,420 y este objeto tiene un objeto dentro 21 00:01:27,420 --> 00:01:30,299 y mi aplicación trabaja con datos 22 00:01:30,299 --> 00:01:32,079 porque si no, no sirve para nada 23 00:01:32,079 --> 00:01:34,180 y los datos tienen otro diseño 24 00:01:34,180 --> 00:01:35,900 distinto, que es 25 00:01:35,900 --> 00:01:37,799 alumno, matrícula por aquí 26 00:01:37,799 --> 00:01:40,159 secretaría por aquí, sin embargo 27 00:01:40,159 --> 00:01:42,459 mi aplicación tiene la matrícula dentro del alumno 28 00:01:42,459 --> 00:01:43,980 no la tiene aparte 29 00:01:43,980 --> 00:01:45,560 como en la tabla, ¿qué desfase es este? 30 00:01:45,560 --> 00:01:46,459 ¿qué cachondeo es este? 31 00:01:47,439 --> 00:01:49,439 pues al identificar este desfase 32 00:01:49,439 --> 00:01:51,579 allá por principios 33 00:01:51,579 --> 00:01:53,640 de los 2000 o un poquito antes 34 00:01:53,640 --> 00:01:55,959 dijeron, pues hombre, bases adrelacionales 35 00:01:55,959 --> 00:02:00,079 ya anticuadas a la corra, vamos a desarrollar tecnologías 36 00:02:00,079 --> 00:02:03,700 de bases de datos orientadas a objetos, de tal manera que 37 00:02:03,700 --> 00:02:08,020 cargar los datos de los objetos de la base de datos es que sea 38 00:02:08,020 --> 00:02:11,120 inmediato, sea una correspondencia biunívoca 39 00:02:11,120 --> 00:02:15,939 pues se intentó, se intentó, se hicieron bases de datos orientadas a objetos 40 00:02:15,939 --> 00:02:20,039 puras de... al final el grupo que se 41 00:02:20,039 --> 00:02:23,460 creó para desarrollar estas tecnologías, para normalizar 42 00:02:23,460 --> 00:02:25,639 todo eso, pues ese grupo 43 00:02:25,639 --> 00:02:27,699 se fue cada uno a su casa 44 00:02:27,699 --> 00:02:29,639 y se aburrieron 45 00:02:29,639 --> 00:02:32,000 y hombre, lo que sí que se han quedado es 46 00:02:32,000 --> 00:02:35,900 lo que sí que se ha quedado es 47 00:02:35,900 --> 00:02:36,280 en 48 00:02:36,280 --> 00:02:38,080 la tierra 49 00:02:38,080 --> 00:02:45,360 vaya panda de delincuentes 50 00:02:45,360 --> 00:02:46,080 que tenemos ahí 51 00:02:46,080 --> 00:02:46,860 vale 52 00:02:46,860 --> 00:02:50,539 esos son los alumnos míos, no van a conocer 53 00:02:50,539 --> 00:02:52,939 entonces 54 00:02:52,939 --> 00:02:54,500 lo que sí que se ha quedado es 55 00:02:54,500 --> 00:02:56,500 en las bases adrelacionales, tal cual las 56 00:02:56,500 --> 00:02:58,199 conocéis, se ha quedado 57 00:02:58,199 --> 00:03:00,180 pues la probabilidad también 58 00:03:00,180 --> 00:03:02,759 de en el modelo, en el DDL 59 00:03:02,759 --> 00:03:04,740 pues crear objetos y esas cositas 60 00:03:04,740 --> 00:03:06,639 pero luego realmente al final 61 00:03:06,639 --> 00:03:08,479 las bases adrelacionales se usan tal y como 62 00:03:08,479 --> 00:03:09,939 las habéis estudiado el año pasado 63 00:03:09,939 --> 00:03:11,659 un montón de tablas 64 00:03:11,659 --> 00:03:14,539 que son una secuencia 65 00:03:14,539 --> 00:03:16,000 de tuplas con 66 00:03:16,000 --> 00:03:18,840 claves que las relacionan entre ellas 67 00:03:18,840 --> 00:03:20,780 al final se ha quedado así, tal y como 68 00:03:20,780 --> 00:03:22,620 se inventaron hace 50 años 69 00:03:22,620 --> 00:03:23,780 o 60 años, tal cual 70 00:03:24,319 --> 00:03:26,360 Luego, ¿qué es un base de datos relacional? 71 00:03:26,699 --> 00:03:27,719 Tal cual la conocéis. 72 00:03:28,159 --> 00:03:29,520 ¿Cuál es nuestro problema ahora? 73 00:03:30,259 --> 00:03:32,219 Pues hombre, tengo una aplicación Java 74 00:03:32,219 --> 00:03:39,259 y necesito comunicarme con mi base de datos relacional. 75 00:03:39,659 --> 00:03:40,219 ¿Qué hago? 76 00:03:40,360 --> 00:03:41,580 Esto no tiene nada que ver con esto. 77 00:03:41,680 --> 00:03:42,180 ¿Cómo lo hago? 78 00:03:42,819 --> 00:03:47,979 Bueno, pues bueno, aquí llega ya todo el proceso de estandarización. 79 00:03:48,520 --> 00:03:52,280 Vamos a hacer unos estándares para que todos hagamos las cosas igual. 80 00:03:52,280 --> 00:03:55,259 Ese proceso de estandarización 81 00:03:55,259 --> 00:03:56,879 Como se hace en Java 82 00:03:56,879 --> 00:03:58,900 Mediante APIs 83 00:03:58,900 --> 00:04:01,539 Es decir, me voy a hacer 84 00:04:01,539 --> 00:04:03,360 Un conjunto de interfaces 85 00:04:03,360 --> 00:04:05,840 Con métodos, con un nombrecito 86 00:04:05,840 --> 00:04:07,879 Conocido, explicativo 87 00:04:07,879 --> 00:04:09,680 Todos usamos esas APIs 88 00:04:09,680 --> 00:04:11,020 Que yo distribuyo 89 00:04:11,020 --> 00:04:12,759 En mi JDK 90 00:04:12,759 --> 00:04:15,979 La gran mayoría, otras no, pero las puedo poner con dependencia 91 00:04:15,979 --> 00:04:17,459 Todos usamos esas APIs 92 00:04:17,459 --> 00:04:18,839 Es decir, todos usamos esos nombres 93 00:04:18,839 --> 00:04:21,420 Todos llamamos de la misma manera las cosas 94 00:04:21,420 --> 00:04:24,399 y ahora ya vamos a implementar 95 00:04:24,399 --> 00:04:25,439 como toque 96 00:04:25,439 --> 00:04:26,860 y como tocará 97 00:04:26,860 --> 00:04:29,699 pues depende de la base de datos que yo esté usando 98 00:04:29,699 --> 00:04:31,600 porque el problema aquí viene 99 00:04:31,600 --> 00:04:33,860 en eso, que la base de datos 100 00:04:33,860 --> 00:04:35,620 yo puedo estar usando MySQL 101 00:04:35,620 --> 00:04:38,680 puedo estar usando Postgre, Oracle 102 00:04:38,680 --> 00:04:40,660 puedo estar usando mil cosas 103 00:04:40,660 --> 00:04:42,439 entonces tendría que hacer 104 00:04:42,439 --> 00:04:44,240 un programa, tendría que cambiar 105 00:04:44,240 --> 00:04:46,300 el programa cada vez que cambie de base de datos 106 00:04:46,300 --> 00:04:48,439 pues no tendría ningún sentido cambiarlo 107 00:04:48,439 --> 00:04:50,300 entonces el estándar por tanto 108 00:04:50,300 --> 00:04:52,399 se basa en, oye, vamos 109 00:04:52,399 --> 00:04:54,819 a crear una API con unos métodos 110 00:04:54,819 --> 00:04:58,240 yo llamo a esta API 111 00:04:58,240 --> 00:04:59,300 y ahora 112 00:04:59,300 --> 00:05:02,699 esta API ya que se implemente 113 00:05:02,699 --> 00:05:03,439 como toque 114 00:05:03,439 --> 00:05:05,139 como toque, vale 115 00:05:05,139 --> 00:05:08,540 pues, la API básica 116 00:05:08,540 --> 00:05:10,300 sobre lo que todo 117 00:05:10,300 --> 00:05:11,680 lo demás está montado 118 00:05:11,680 --> 00:05:13,939 la API básica que usamos 119 00:05:13,939 --> 00:05:16,279 sí o sí, bueno, sí o sí con 120 00:05:16,279 --> 00:05:18,360 matices, porque bueno, luego tendríamos 121 00:05:18,360 --> 00:05:22,819 la API básica 122 00:05:22,819 --> 00:05:24,500 que se usa sí o sí 123 00:05:24,500 --> 00:05:26,279 para acceder desde Java 124 00:05:26,279 --> 00:05:27,480 a una base A tradicional 125 00:05:27,480 --> 00:05:29,220 es lo que llamamos 126 00:05:29,220 --> 00:05:32,040 la API JDBC 127 00:05:32,040 --> 00:05:34,560 que es una de las del trabajito del año pasado 128 00:05:34,560 --> 00:05:36,040 ¿verdad? la API JDBC 129 00:05:36,040 --> 00:05:37,519 Java 130 00:05:37,519 --> 00:05:39,519 Database Connectivity 131 00:05:39,519 --> 00:05:42,819 esto es un conjunto de métodos 132 00:05:42,819 --> 00:05:44,100 para 133 00:05:44,100 --> 00:05:46,420 directamente hablar con la base de datos 134 00:05:46,420 --> 00:05:48,019 de tú a tú, tal cual 135 00:05:48,019 --> 00:05:49,759 para meterse en el fango tal cual 136 00:05:49,759 --> 00:05:51,759 para hablar con la base de datos 137 00:05:51,759 --> 00:05:53,560 y hablar con la base de datos que implica 138 00:05:53,560 --> 00:05:55,480 crear conexión 139 00:05:55,480 --> 00:05:58,160 ejecutar 140 00:05:58,160 --> 00:05:59,959 la sentencia, suele ser SQL 141 00:05:59,959 --> 00:06:02,079 que yo quiera, que puede ser también 142 00:06:02,079 --> 00:06:03,720 de crear modelos 143 00:06:03,720 --> 00:06:06,240 y cerrar conexión 144 00:06:06,240 --> 00:06:07,459 esencialmente es eso 145 00:06:07,459 --> 00:06:11,310 eso es lo que hace la API JDBC 146 00:06:11,310 --> 00:06:13,209 se baja al barro directamente 147 00:06:13,209 --> 00:06:13,970 a la tierra 148 00:06:13,970 --> 00:06:17,250 a hablar directamente con la base de datos 149 00:06:17,250 --> 00:06:19,250 para crear la conexión tal cual 150 00:06:19,250 --> 00:06:22,490 ejecutar, toma este SQL 151 00:06:22,490 --> 00:06:24,389 ala, ejecútalo 152 00:06:24,389 --> 00:06:26,730 si es una consulta, dame los resultados 153 00:06:26,730 --> 00:06:28,569 venga, cierre conexión 154 00:06:28,569 --> 00:06:30,370 esencialmente es eso, bueno 155 00:06:30,370 --> 00:06:32,490 hay otras cositas más que se pueden hacer ya metidos 156 00:06:32,490 --> 00:06:34,490 en el barro de la base de datos 157 00:06:34,490 --> 00:06:35,970 bueno, pues 158 00:06:35,970 --> 00:06:38,610 esto, la API 159 00:06:38,610 --> 00:06:40,310 JDBC tiene métodos 160 00:06:40,310 --> 00:06:41,970 para hacer estas cosas 161 00:06:41,970 --> 00:06:43,689 ¿vale? para hacer esas cosas 162 00:06:43,689 --> 00:06:46,430 entonces, uno 163 00:06:46,430 --> 00:06:48,509 no necesitaría nada más, puede hacer 164 00:06:48,509 --> 00:06:50,290 cualquier aplicación directamente así 165 00:06:50,290 --> 00:06:52,009 y tendría un control 166 00:06:52,009 --> 00:06:53,970 exhaustivo de la aplicación 167 00:06:53,970 --> 00:06:55,829 lo que pasa es que bueno 168 00:06:55,829 --> 00:06:57,470 que se queda una aplicación 169 00:06:57,470 --> 00:06:58,870 un poquito 170 00:06:58,870 --> 00:07:02,329 poco escalable, poco mantenible 171 00:07:02,329 --> 00:07:04,110 porque yo tengo ahí un montón de SQL 172 00:07:04,110 --> 00:07:06,269 tengo que hacer mi propia gestión de conexiones 173 00:07:06,269 --> 00:07:08,689 tengo un montón de tries y cuts 174 00:07:08,689 --> 00:07:10,629 tengo un montón de historias raras de código 175 00:07:10,629 --> 00:07:12,410 que maravilloso porque yo lo controlo 176 00:07:12,410 --> 00:07:13,850 pero jolín que feo 177 00:07:13,850 --> 00:07:16,750 entonces sobre esto se pueden ir poniendo 178 00:07:16,750 --> 00:07:18,009 capas de abstracción 179 00:07:18,009 --> 00:07:20,029 sobre esto se pueden ir poniendo capas 180 00:07:20,029 --> 00:07:21,850 ¿vale? que son las, son capas 181 00:07:21,850 --> 00:07:23,490 pues que iremos incorporando 182 00:07:23,490 --> 00:07:25,529 las capas de abstracción, ¿vale? 183 00:07:26,189 --> 00:07:28,110 hasta llegar a una capa en la que 184 00:07:28,110 --> 00:07:29,209 ya no saben lo que estás haciendo 185 00:07:29,209 --> 00:07:31,709 efectivamente, tú ya dices, eh 186 00:07:31,709 --> 00:07:34,089 quiero un alumno, y ya está 187 00:07:34,089 --> 00:07:36,029 y de repente ahí empiezan a arrancar 188 00:07:36,029 --> 00:07:37,750 cosas, millones de cosas 189 00:07:37,750 --> 00:07:40,089 y todo para que te dé un alumno 190 00:07:40,089 --> 00:07:40,990 digo, joder, ¿para esto? 191 00:07:43,189 --> 00:07:44,089 hombre, si tú has 192 00:07:44,089 --> 00:07:45,829 configurado bien las capas, debería 193 00:07:45,829 --> 00:07:46,970 darte bien ese alumno 194 00:07:46,970 --> 00:07:51,009 hombre, a ver 195 00:07:51,009 --> 00:07:53,310 que algo más exagerado 196 00:07:53,310 --> 00:07:55,449 el poner capas no significa que tú al final no sabes 197 00:07:55,449 --> 00:07:56,009 lo que estás haciendo 198 00:07:56,009 --> 00:07:59,889 se supone que cada capa que pones 199 00:07:59,889 --> 00:08:01,470 la configuras 200 00:08:01,470 --> 00:08:03,290 correctamente y sabes qué hace 201 00:08:03,290 --> 00:08:05,430 y de qué va, lo que pasa es que es cierto 202 00:08:05,430 --> 00:08:07,550 que cada capa de abstracción ya te mete 203 00:08:07,550 --> 00:08:08,829 un montón de cosas 204 00:08:08,829 --> 00:08:11,290 y al final puedes llegar a una situación que no sabes muy bien 205 00:08:11,290 --> 00:08:13,329 lo que estás haciendo, pero ¿cómo te funciona? 206 00:08:13,889 --> 00:08:15,029 pues ahí lo dejas 207 00:08:15,029 --> 00:08:17,089 entonces, bueno, es verdad que eso tiene el peligro 208 00:08:17,089 --> 00:08:19,009 de que a veces a lo mejor algo te deja 209 00:08:19,009 --> 00:08:20,050 de funcionar y dices 210 00:08:20,050 --> 00:08:22,230 ¿y por qué me lo deja de funcionar? ni por yo tener idea 211 00:08:22,230 --> 00:08:24,529 porque como he puesto tantas cosas, ya es que no sé 212 00:08:24,529 --> 00:08:27,189 dónde está el fallo, pero bueno, ese es vuestro trabajo 213 00:08:27,189 --> 00:08:28,389 ¿vale? 214 00:08:33,730 --> 00:08:35,090 Esa es una pregunta 215 00:08:35,090 --> 00:08:36,830 filosóficamente interesante 216 00:08:36,830 --> 00:08:38,549 la respuesta 217 00:08:38,549 --> 00:08:40,309 políticamente correcta 218 00:08:40,309 --> 00:08:43,149 que no me comprometes, depende del contexto 219 00:08:43,149 --> 00:08:45,370 y es que 220 00:08:45,370 --> 00:08:46,950 es hasta real, depende del contexto 221 00:08:46,950 --> 00:08:49,450 en una aplicación tuya en la que vas a hacer 222 00:08:49,450 --> 00:08:51,169 cuatro SQLs, cuatro no sé qué 223 00:08:51,169 --> 00:08:53,529 pues hombre, ¿a qué vas a poner 224 00:08:53,529 --> 00:08:55,190 capas? JDC, claro 225 00:08:55,190 --> 00:08:57,429 ¿para qué le vas a meter 226 00:08:57,429 --> 00:08:59,710 carga y peso? En una aplicación empresarial 227 00:08:59,710 --> 00:09:01,269 que tiene un modelo 228 00:09:01,269 --> 00:09:02,990 con un montón de clases 229 00:09:02,990 --> 00:09:04,870 como tengas tú 230 00:09:04,870 --> 00:09:05,990 que andar 231 00:09:05,990 --> 00:09:08,889 reconstruyendo cada campo para 232 00:09:08,889 --> 00:09:11,690 construir el objeto, te estás ahí dos horas 233 00:09:11,690 --> 00:09:12,909 bueno, que digo yo dos horas 234 00:09:12,909 --> 00:09:14,370 te estás dos meses 235 00:09:14,370 --> 00:09:18,909 pues por eso es que depende del contexto 236 00:09:18,909 --> 00:09:21,250 si es una aplicación que tira de un modelo 237 00:09:21,250 --> 00:09:23,309 muy complicado, pues hombre 238 00:09:23,309 --> 00:09:24,950 si tú no usas capas 239 00:09:24,950 --> 00:09:27,250 el mapeo entre la base de datos 240 00:09:27,250 --> 00:09:29,090 y el modelo lo vas a tener que estar haciendo todo el rato 241 00:09:29,090 --> 00:09:31,149 en cuanto cambie algo 242 00:09:31,149 --> 00:09:33,389 del modelo, de la base de datos 243 00:09:33,389 --> 00:09:35,330 el cambio tuyo en tu código es enorme 244 00:09:35,330 --> 00:09:37,409 si tú lo haces con esas capas 245 00:09:37,409 --> 00:09:39,190 un cambio en la base de datos 246 00:09:39,190 --> 00:09:41,070 implica tunear muy poquito 247 00:09:41,070 --> 00:09:43,830 en esas capas, pero claro, tienes que controlarlas 248 00:09:43,830 --> 00:09:45,490 tienes que controlar un poco lo que hacen 249 00:09:45,490 --> 00:09:47,549 un poco, pero ahora 250 00:09:47,549 --> 00:09:49,389 vamos rápidamente a 251 00:09:49,389 --> 00:09:51,070 este tema 2 252 00:09:51,070 --> 00:09:53,429 es JDBC, con lo cual 253 00:09:53,429 --> 00:09:55,570 fijaos que poquita cosa, es JDBC 254 00:09:55,570 --> 00:09:57,429 entonces vamos a ver la arquitectura básica de 255 00:09:57,429 --> 00:09:59,509 JDBC y como 256 00:09:59,509 --> 00:10:00,690 se usa más o menos 257 00:10:00,690 --> 00:10:03,370 y ya está, y ya esa parte estaría 258 00:10:03,370 --> 00:10:04,889 y luego ya pasaríamos a 259 00:10:04,889 --> 00:10:07,470 vamos a poner una pequeña capita mínima 260 00:10:07,470 --> 00:10:08,750 de abstracción 261 00:10:08,750 --> 00:10:10,570 que todavía no es un ORM 262 00:10:10,570 --> 00:10:12,429 una pequeña capita mínima de abstracción 263 00:10:12,429 --> 00:10:14,490 para que no sea un JDBC 264 00:10:14,490 --> 00:10:16,549 puro y duro tan feo, para ver que se le puede poner 265 00:10:16,549 --> 00:10:17,909 una mínima capa de abstracción 266 00:10:17,909 --> 00:10:20,090 y ya está, ese sería el tema 2 267 00:10:20,090 --> 00:10:22,909 y el tema 3 es, venga, ahora vamos a poner una capa más gorda 268 00:10:22,909 --> 00:10:24,750 vamos a poner lo que se llama un ORM 269 00:10:24,750 --> 00:10:26,110 y ya está 270 00:10:26,110 --> 00:10:28,169 no hay tanto que queda, pero bueno 271 00:10:28,169 --> 00:10:29,309 vamos a intentar no 272 00:10:29,309 --> 00:10:32,149 perdernos, vale, entonces 273 00:10:32,149 --> 00:10:34,090 cuando yo he hablado 274 00:10:34,090 --> 00:10:35,029 de que esta API 275 00:10:35,029 --> 00:10:37,909 JDBC que se distribuye 276 00:10:37,909 --> 00:10:39,909 con el JB que está en JDK 277 00:10:39,909 --> 00:10:41,929 no tienes que importar ninguna dependencia 278 00:10:41,929 --> 00:10:43,049 ni nada, ahí viene 279 00:10:43,049 --> 00:10:45,590 cuando he dicho que ya veremos 280 00:10:45,590 --> 00:10:47,429 cómo se rellena, pues claro 281 00:10:47,429 --> 00:10:49,809 esto ya sí que 282 00:10:49,809 --> 00:10:51,929 depende de la base de datos con la que yo estoy trabajando 283 00:10:51,929 --> 00:10:53,730 entonces esto ya sí que 284 00:10:53,730 --> 00:10:55,529 es responsabilidad de uno 285 00:10:55,529 --> 00:10:57,470 coger el relleno 286 00:10:57,470 --> 00:11:00,009 coger el relleno, la implementación 287 00:11:00,009 --> 00:11:01,649 coger la implementación de la API 288 00:11:01,649 --> 00:11:04,090 y la implementación de la API 289 00:11:04,090 --> 00:11:05,169 o el relleno 290 00:11:05,169 --> 00:11:07,629 ¿cómo se llama? pues es el driver 291 00:11:07,629 --> 00:11:10,809 entonces, que tú trabajas con MySQL 292 00:11:10,809 --> 00:11:12,629 te tienes que preocupar 293 00:11:12,629 --> 00:11:14,990 de descargarte 294 00:11:14,990 --> 00:11:17,309 o conectarte a la dependencia 295 00:11:17,309 --> 00:11:19,090 del driver JDBC 296 00:11:19,090 --> 00:11:21,070 de MySQL, que trabajas con Oracle 297 00:11:21,070 --> 00:11:23,090 pues tienes que ponerte 298 00:11:23,090 --> 00:11:23,970 esta dependencia 299 00:11:23,970 --> 00:11:26,889 entonces, con esta arquitectura 300 00:11:26,889 --> 00:11:28,429 el cambio de base de datos es inmediato 301 00:11:28,429 --> 00:11:31,090 cambias el driver y ya está, no tienes que tocar 302 00:11:31,090 --> 00:11:32,909 nada, porque el API es igual 303 00:11:32,909 --> 00:11:34,649 pues MySQL 304 00:11:34,649 --> 00:11:36,490 porque es la relacional estándar 305 00:11:36,490 --> 00:11:38,470 más fácil de usar y más 306 00:11:38,470 --> 00:11:43,279 vale 307 00:11:43,279 --> 00:11:46,500 y esta sería 308 00:11:46,500 --> 00:11:48,360 la idea de cómo funciona 309 00:11:48,360 --> 00:11:50,299 JDBC, nuestro trabajo va a ser 310 00:11:50,299 --> 00:11:52,460 seleccionar el 311 00:11:52,460 --> 00:11:54,399 driver, esto es lo que se 312 00:11:54,399 --> 00:11:55,940 llama en general el conector 313 00:11:55,940 --> 00:11:58,500 por eso pues esto se le 314 00:11:58,500 --> 00:11:59,039 llama pues 315 00:11:59,039 --> 00:12:02,259 conectar de base de datos con conectores, se le suele llamar 316 00:12:02,259 --> 00:12:03,720 conector o driver JDBC 317 00:12:03,720 --> 00:12:05,799 pues vamos simplemente a eso 318 00:12:05,799 --> 00:12:08,080 a instalar nuestro MySQL 319 00:12:08,080 --> 00:12:10,039 y ver un poquito, más o menos, 320 00:12:10,500 --> 00:12:12,620 cómo se suele usar, en qué tipo de 321 00:12:12,620 --> 00:12:14,639 qué forma de programar 322 00:12:14,639 --> 00:12:15,899 normalmente usamos 323 00:12:15,899 --> 00:12:18,580 para hacer esto, para conectarnos a la base de datos 324 00:12:18,580 --> 00:12:20,519 y poder hacer cualquier cosa con ella, cualquiera 325 00:12:20,519 --> 00:12:22,580 lo que me dé la gana con JBG. 326 00:12:23,120 --> 00:12:24,440 ¿Vale? Hay ciertos patrones, pues 327 00:12:24,440 --> 00:12:26,279 usar el try con recursos, 328 00:12:27,139 --> 00:12:28,340 pues unas cositas que más o menos 329 00:12:28,340 --> 00:12:30,159 para hacerlo mono y elegante. 330 00:12:30,720 --> 00:12:31,899 Crear un pool de conexiones, 331 00:12:32,240 --> 00:12:34,700 si estamos en multihilo, algunos detallitos 332 00:12:34,700 --> 00:12:35,000 de eso. 333 00:12:35,799 --> 00:12:37,639 Pues, ¿quién ha suspirado? 334 00:12:38,360 --> 00:12:38,720 Todos 335 00:12:38,720 --> 00:12:41,740 No, no vamos a hacer aplicaciones multilo, Dios no es libre 336 00:12:41,740 --> 00:12:43,139 Se ha entendido 337 00:12:43,139 --> 00:12:46,440 Nosotros en el trabajo de Fintech 338 00:12:46,440 --> 00:12:48,100 Eso, bueno 339 00:12:48,100 --> 00:12:49,240 Si queréis, si no, no 340 00:12:49,240 --> 00:12:51,059 Vale 341 00:12:51,059 --> 00:12:56,679 Pues entonces 342 00:12:56,679 --> 00:12:59,679 Voy a parar la grabación 343 00:12:59,679 --> 00:13:01,259 Porque ahora lo que vamos a hacer va a ser 344 00:13:01,259 --> 00:13:03,159 Instalar MySQL 345 00:13:03,159 --> 00:13:04,240 No