Saltar navegación

20260226 Repaso_1 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 3 de marzo de 2026 por Raquel G.

1 visualizaciones

Descargar la transcripción

Vale, entonces la arquitectura 00:00:00
estándar para nosotros 00:00:05
para practicar JDBC 00:00:07
pues ya está, simplemente nuestro modelo 00:00:08
de toda la vida, en este caso es el que nos 00:00:11
dio ChagPT 00:00:13
Sí, sí, sí, en este caso 00:00:15
es el que nos dio ChagPT que era más 00:00:19
feo que yo que sé 00:00:21
feísimo 00:00:22
pero daba igual porque 00:00:24
lo que queríamos era practicar 00:00:27
sentencias JDBC 00:00:28
y ya está, entonces nos adaptamos a este modelo 00:00:31
que era más feo que yo que sé, pero bueno 00:00:33
da igual, y de hecho 00:00:35
vale, entonces luego ya 00:00:36
hicimos un 00:00:39
DAO pataterillo, ni implementación ni nada 00:00:41
que nos sirvió pues un poco 00:00:43
para recordar que 00:00:47
DAO fuera de mis 00:00:49
casos de uso 00:00:51
acceso a base de datos puro y duro 00:00:52
casos de uso en servicio 00:00:55
Entonces el dao este 00:00:57
Pataterillo 00:00:59
Pues lo 00:01:01
El dao este pataterillo 00:01:03
¿Qué? 00:01:08
Sí, ¿verdad? 00:01:12
Pero este 00:01:14
Esta 00:01:16
Esta selet 00:01:16
Ya, pero dijimos 00:01:18
Esta sentencia 00:01:21
De hecho se la pedimos a CharGPT 00:01:23
¿Vale? 00:01:25
Claro, porque 00:01:26
A ver 00:01:29
Ayer, por ejemplo 00:01:30
Me escribe, empieza la historia de la abuela cebolleta 00:01:33
Vale, pero va a ser muy breve 00:01:36
Ayer me escribe 00:01:37
Un alumno de hace 00:01:40
Tres años 00:01:41
Que está trabajando en este 00:01:43
Mabel 00:01:45
Sí, Mabel 00:01:46
Y me dice 00:01:47
Creo que tenéis que empezar a usar la IA en clase 00:01:51
Porque 00:01:53
nosotros tenemos, ya nos han dado ya los protocolos 00:01:56
de arriba y abajo, y la tenemos que usar 00:01:58
continuamente, para todo 00:02:00
entonces yo creo que tenéis que empezar 00:02:02
a dejar de hacer las consultas vosotros 00:02:04
tenéis que empezar a dejar de hacer eso, porque eso no se hace 00:02:06
conclusión, lo que llevamos 00:02:09
haciendo todo el curso 00:02:11
ya sabéis chicos, que no usáis la IA, usadla 00:02:12
si alguno se haya planteado 00:02:14
no usarla, que la use 00:02:16
¿qué quiero decir con esto? 00:02:19
que para el examen va buena 00:02:21
vale, pero entonces os pongo un proyecto 00:02:23
real. Y nos estamos aquí 00:02:25
siete horas. 00:02:27
No, no es tan sencillo. 00:02:30
Si estuviéramos hablando con bases de datos reales, 00:02:33
con modelos de negocio reales que te ponen un montón 00:02:35
de restricciones. 00:02:37
Ya, pero es que entonces si quisiéramos 00:02:39
evaluar así con el uso de ChagPT, tendríamos 00:02:41
que ver un modelo, o sea, tenemos que poner 00:02:43
un proyecto de esa envergadura. 00:02:45
Lo podríamos, usaríamos SIA y sería la mejor 00:02:47
forma de evaluar. Necesitaríamos diez horas 00:02:49
y ya está y sería la mejor manera, pero no podemos. 00:02:50
Entonces, algo sencillito no usaría 00:02:53
para ver si las destrezas están más o menos cogidas 00:02:55
y ya está, y nos vamos todos a casa. 00:02:57
Es la idea. Vale. 00:02:59
Entonces, ¿qué quería decir yo con esta historia? 00:03:01
Que esta se la pedimos a HGPT. 00:03:03
¿Por qué? Porque a mí no me interesa 00:03:05
ni a vosotros os interesa 00:03:07
tener un dominio del SQL. 00:03:08
Os interesa saber de qué va, que eso ya lo sabéis. 00:03:11
¿Vale? Pues entonces 00:03:13
le pedimos la consulta y como somos 00:03:15
tan listos, en cuanto la vemos, 00:03:17
pues ya está, entendemos lo que 00:03:20
hace. ¿Vale? 00:03:21
O bueno, no sé si en cuanto la vemos, 00:03:22
Pero a lo mejor al minuto 00:03:24
Más o menos al minuto 00:03:25
Yo lo mismo me tiro 00:03:27
Para entender esa tendencia 00:03:30
15-20 minutos fácil 00:03:31
Bueno, sí, yo también lo digo 00:03:33
También 00:03:35
Pero bueno, otro debate sería 00:03:38
¿Dónde ponemos la frontera? 00:03:40
Porque si se nos mueren las neuronas 00:03:42
Tenemos un problema 00:03:45
Mira, te voy a traer la ficha 00:03:46
Que le llevo a mi padre para el deterioro cognitivo 00:03:50
que no nos vendría nada mal hacer 00:03:52
de vez en cuando todos 00:03:54
literalmente somos la generación 00:03:55
esta generación nueva tiene menos 00:03:58
inteligencia que la anterior 00:04:00
no, eso no es verdad 00:04:01
eso dicen, el cociente bruto 00:04:04
la medida del cociente bruto 00:04:06
es la primera que ha bajado en muchísimos años 00:04:07
bueno, pues tendréis que suplirlo con otras cosas 00:04:09
no hay otra 00:04:17
vale, bueno, pues entonces 00:04:18
esta sentencia era 00:04:20
exclusivamente para hacer un 00:04:22
find all, que es 00:04:24
sácame la sede 00:04:27
con todos sus proyectos 00:04:28
asociados, pues para hacer un find all 00:04:30
sede con todos los proyectos 00:04:33
esta sentencia de aquí 00:04:35
en el examen 00:04:36
muy bueno 00:04:38
sentencias más sencillas, vale 00:04:40
o a lo mejor sentencias que ya están 00:04:42
hechas, pero por alguna razón algo no funciona 00:04:44
y tendréis que ver por qué no funciona 00:04:46
eso me suele gustar más 00:04:49
algo que hago 00:04:50
Cambio las cosas 00:04:52
Las quito, las pongo 00:04:55
Cambio alguna cosa mal, no muy a pillar 00:04:56
Y decir, arreglámelo, encuéntramelo 00:04:58
Eso me gusta más 00:05:01
¿Vale? Pero ya veremos, no lo he puesto todavía 00:05:02
Bueno, pues 00:05:05
El problema, aquí no era 00:05:06
Tanto la sentencia 00:05:08
Porque la sentencia se la pide uno a HGPT 00:05:09
Y ya está sabiendo lo que tiene que pedir, claro 00:05:12
Sino ahora, hacer el mapeo 00:05:14
Que es la parte 00:05:17
Que nos hace Hibernate 00:05:19
pues hacer el mapeo del result set 00:05:20
pues nada, aquí es donde nos estuvimos 00:05:23
un ratito, porque es que estos no paraban 00:05:25
de decir, así no, así no, así no 00:05:27
y nos estuvimos dos horas 00:05:29
bueno, pues estuvimos creando 00:05:30
las sedes, añadiendo los proyectos 00:05:33
a las sedes, etcétera 00:05:35
y así creamos nuestra colección de sedes y devolvimos 00:05:36
y ya está, y luego nos 00:05:39
hicimos un caso de uso y se acabó 00:05:41
bueno, antes de nada 00:05:43
lógicamente la conexión 00:05:45
la sentencia y la conexión 00:05:47
la metimos en un singleton por aquí 00:05:49
y ya está 00:05:51
que sacábamos las propiedades y ya está 00:05:52
que esa va a ser la arquitectura del examen 00:05:55
también, va a ser esa 00:05:58
exacto 00:06:01
y aquí el caso de uso que hicimos 00:06:04
pues es usar ese find all 00:06:06
para ver la sede con más proyectos 00:06:10
entonces nos sacamos 00:06:11
todas las sedes 00:06:13
Aquí sacamos primero 00:06:17
El máximo 00:06:20
De esta colección 00:06:21
Y luego ya nos 00:06:24
Buscamos 00:06:25
La sede 00:06:27
Con este filter, buscamos la sede 00:06:30
Que tenía este máximo, muy retorcido 00:06:32
Porque aquí podíamos haber metido 00:06:34
Ya un comparador 00:06:36
Vale, entonces, que era lo único 00:06:37
Lo único que había que cambiar para que esto 00:06:39
Funcionara, lo único 00:06:42
Que yo aquí, como estábamos escribiendo así muy rápido 00:06:43
puse un null 00:06:46
directamente porque pensaba en el sort 00:06:48
de colecciones, que ya sabéis que el sort 00:06:49
si no le das un comparador 00:06:52
te usa el orden natural que está establecido 00:06:53
en el comparable, te usa el orden natural 00:06:56
y no max, no, max no es como el sort 00:06:57
te exige un comparador, entonces el comparador 00:07:00
se lo puedes dar de muchas maneras, pero siempre 00:07:02
tienes la clase 00:07:04
comparator, donde 00:07:05
tú puedes de aquí, ¿vale? 00:07:08
sacar comparadores 00:07:10
tuyos específicos que has creado 00:07:11
O comparadores que ya están hechos 00:07:14
Como este 00:07:16
Entonces 00:07:17
Este es el comparador natural 00:07:19
Claro 00:07:22
El orden natural que tenga esa entidad 00:07:27
Que tiene que tenerlo 00:07:30
Si no lo tiene pues 00:07:31
Aquí lo único es que nos complicamos mucho la vida 00:07:32
Porque si le hubiéramos dado ya 00:07:35
Un comparador específico 00:07:37
Adaptado a nuestro criterio de orden 00:07:40
Que nuestro criterio de orden 00:07:42
Era el tamaño de la colección 00:07:44
Pues ya está 00:07:46
Nos hubiéramos ahorrado luego hacer esta segunda parte 00:07:47
¿Vale? 00:07:49
Eso lo podríamos haber hecho 00:07:56
Con este 00:07:58
El comparador que yo quiero es de enteros 00:08:01
Porque queríamos comparar 00:08:03
Este de aquí 00:08:05
Queríamos comparar 00:08:06
Este, queríamos comparar 00:08:08
Pues 00:08:13
x.get 00:08:16
No, ¿dónde estamos aquí? 00:08:21
Aquí le tenemos que meter 00:08:24
el criterio de comparación 00:08:25
A ver, ¿cómo era esto? 00:08:27
Aquí hay un nuevo comparador 00:08:30
No, porque le tengo que 00:08:31
pasar el tamaño de 00:08:41
Ah, no, espérate, es que este map 00:08:43
es el que me sobraría. Vale, en este caso 00:08:45
Espera, vamos a ponerlo en otro sitio 00:08:47
Es que el map de arriba es el que me sobraría 00:08:49
A ver, este 00:08:51
Esta sería 00:08:53
Una opción 00:08:55
Y la otra sería 00:08:57
Irmax igual a 00:08:58
Dao. 00:09:01
Dao.findall 00:09:04
Dime 00:09:05
Tiene guardia 00:09:06
Y creo que está en el aula de segundo de SMRB 00:09:11
Guardando 00:09:13
00:09:14
Sí, está justo enfrente 00:09:15
Un poquito a la izquierda 00:09:18
Vale, entonces 00:09:19
Aquí 00:09:21
Esto sería 00:09:22
Vamos a hacer un comparador 00:09:26
Me falta el string, jolines 00:09:29
FindAll.String 00:09:31
Este max fuera 00:09:33
Este de aquí 00:09:37
FindAll.String 00:09:39
Vale 00:09:44
Y ahora ya 00:09:45
esta cadena es una cadena de sedes 00:09:46
y yo tengo que fijar 00:09:50
un comparador 00:09:51
entre las sedes 00:09:53
pero basado en una transformación 00:09:55
de esas sedes a entero 00:09:58
que es el tamaño de su 00:09:59
colección de proyectos 00:10:01
entonces esa transformación a enteros 00:10:04
me la daría el comparing int 00:10:06
y aquí 00:10:08
tengo que poner, entiendo que 00:10:10
esta función 00:10:12
Exacto, .size 00:10:13
X.get 00:10:15
Proyectos 00:10:17
.size 00:10:19
¿Vale? 00:10:20
Entonces, esto 00:10:23
Pero lo voy a bajar aquí abajo 00:10:25
Me extraería ya directamente 00:10:26
El máximo de este stream 00:10:29
El máximo basado 00:10:31
En este criterio de comparación 00:10:33
Creo 00:10:35
El proyecto con esa colección 00:10:37
Más larga 00:10:40
claro, y ahora yo ya de este 00:10:40
pues yo saco el 00:10:43
o con get directamente 00:10:47
si soy cutre 00:10:49
o si es null 00:10:50
lanza una excepción 00:10:53
aquí lo único, cuidado, porque si 00:10:53
fuera null, me saldría un no pointer 00:10:57
excepción, pero como yo ya lo tengo instanciado 00:10:59
para que no pueda ser null nunca 00:11:01
yo creo que te lanzará una excepción 00:11:02
un runtime genérico 00:11:07
supongo, no lo sé, pero bueno 00:11:11
al menos te avisa, si no 00:11:13
lo ideal sería crear nosotros una nuestra 00:11:14
y aquí ponerle un new 00:11:17
porque este método está sobrecargado 00:11:19
pero el comparín te saca el mayor 00:11:20
no, esto en la clase comparator 00:11:22
en general es para crear criterios de comparación 00:11:25
tú puedes hacer tus propios comparator 00:11:27
o puedes directamente 00:11:29
mediante los métodos que te ofrece comparator 00:11:30
pasándole ya la 00:11:33
implementación 00:11:34
del comparator directamente o interfaz funcional 00:11:36
entonces aquí 00:11:39
nuestro criterio de comparación va a ser 00:11:40
este momento porque es 00:11:43
entre una transformación entero 00:11:45
de cada esto, pero bueno tampoco quiero que nos perdamos mucho aquí 00:11:47
porque no vamos a meternos en cosas 00:11:49
estas en el examen 00:11:51
pero bueno la idea es entenderlo 00:11:52
y si nos lo ofrece 00:11:55
cuando le pedimos 00:11:56
hombre claro 00:11:58
pues si yo entenderlo 00:12:00
uy no me hagas preguntas 00:12:02
No, no voy 00:12:05
O sea, no voy 00:12:08
Es decir, esto es lo que está 00:12:09
Esto sobraría ahora 00:12:10
Claro, es que este 00:12:12
Claro, es que este también sobraría 00:12:14
O sea, es que esto era para el modelo anterior 00:12:16
Ahora nos quedaríamos solamente con esto 00:12:19
Es decir 00:12:21
O todo esto 00:12:23
Que es una forma muy larga 00:12:25
De llegar 00:12:27
Que sería una forma muy larga 00:12:28
¿Vale? 00:12:30
Pero que fue la que nos salió de corrido el otro día 00:12:32
porque era de corrido 00:12:35
sin consultar nada y sin mirar nada, no salió esta 00:12:37
y ya está, ¿vale? y esta hubiera sido 00:12:39
una forma más cortita 00:12:41
se me ha quedado una barra, vale 00:12:44
y entonces, pues 00:12:46
con este proyecto, que podría ser 00:12:49
pues un proyecto como el examen 00:12:51
o el del examen, pues podríamos aquí 00:12:53
pedir 00:12:55
más 00:12:56
métodos de DAO o más métodos de estos 00:12:58
o pedir un DAO relacionado 00:13:01
con alguna de estas cosas, etcétera 00:13:03
y ya está, esa es la idea 00:13:05
poner cual 00:13:06
el modelo son todas 00:13:08
estas, este proyecto 00:13:12
lo voy a subir ahora después a hola virtual 00:13:16
lo que pasa es que no quería subirlo hasta que no 00:13:18
volviéramos a mirar, pero le pedimos 00:13:20
el modelo a chat GPT y no nos dio 00:13:22
un modelo JPA 00:13:24
like, no porque nos puso 00:13:26
que la sede, bueno esto es 00:13:28
que se lo cambiamos nosotros, pero 00:13:30
por ejemplo el empleado en lugar 00:13:32
de tener un departamento, un objeto 00:13:34
departamento, tenía el entero, o sea esto 00:13:35
es muy feo, esto no es un 00:13:38
modelo JPA 00:13:39
claro 00:13:41
y no, para mapearlo, no, porque tú 00:13:43
de la consulta ya sacas el link 00:13:46
para luego trabajar con él, para hacer 00:13:47
luego ya los casos de uso, ahí es donde se complica 00:13:49
porque quiero sacar el empleado 00:13:51
del departamento de propiedad de empleado 00:13:54
me saco primero 00:13:56
esto, de aquí tengo que ir al otro lado 00:13:58
entonces, claro, el DAO 00:14:00
en realidad es casi más sencillo 00:14:02
porque de consultas vas 00:14:04
a objetos directamente 00:14:06
y luego el servicio es el más 00:14:07
frioso 00:14:09
vale pues 00:14:10
si pues eso que el modelo no es 00:14:13
JPA like quería decir 00:14:17
porque las clases 00:14:19
en realidad no representan 00:14:21
correctamente las claves 00:14:23
ajenas, no representan las relaciones 00:14:25
son como una especie de foto de la 00:14:27
base de datos que no es la idea 00:14:29
vale 00:14:30
bueno de JDBC y de lo que va a entrar 00:14:31
etcétera alguna duda 00:14:35
Claro, en este 00:14:36
Pues, a ver, aquí por ejemplo 00:14:52
Si hiciéramos 00:14:54
Vale 00:14:55
Imaginaos 00:15:07
Que hacemos 00:15:10
Recuperar sede 00:15:11
Por el find by 00:15:14
Así no nos detenemos mucho 00:15:16
Que sería el más sencillo 00:15:19
Entonces, vamos a ver cómo era la base de datos 00:15:21
La base de datos 00:15:23
Era esta 00:15:25
Sé de dónde está 00:15:27
Esta 00:15:41
Bueno, pues 00:15:45
Antes de responder a tu pregunta 00:16:06
Haciendo un ejemplito sencillo 00:16:08
¿Cómo estudiaría yo? 00:16:10
Eso 00:16:13
Pues yo estudiaría 00:16:14
Fatal 00:16:16
Pues, por ejemplo 00:16:19
¿Puedes ir al baño? 00:16:24
Sí, joder, con el baño 00:16:26
Una fe, ¿eh? 00:16:27
Vale 00:16:30
Vale, pero vamos 00:16:30
Tampoco necesitábamos todos los detalles 00:16:43
No, hombre, ha dicho algo decente 00:16:45
¿Cómo estudiaría yo? 00:16:49
Pues por ejemplo 00:16:52
Me cogería este proyecto 00:16:53
Que ya está con una base de datos 00:16:55
Complicada 00:16:56
Y haría un dado 00:16:58
Pues por ejemplo 00:17:00
De empleados 00:17:04
Y diría, pues venga 00:17:05
Que un método de empleado 00:17:08
Es recuperar empleados por categoría 00:17:10
Ese sería un buen método de dado 00:17:13
Recuperar 00:17:15
Todos un find de empleado 00:17:17
by categoría 00:17:19
entonces ahí pues hay que pasarle 00:17:20
un parámetro, hay que 00:17:23
hacer el select que sea 00:17:25
luego un caso 00:17:27
de servicio pues 00:17:29
ya el que, pues ese mismo podría ser 00:17:30
dada una categoría, dame todos los 00:17:33
empleados o 00:17:35
lo que sea, o dame una categoría 00:17:36
o un caso de uso podría ser 00:17:38
dame una categoría en la que no haya empleados 00:17:40
en la que no haya, por ejemplo 00:17:43
entonces el caso de uso ya se les apaña para usar el método 00:17:44
de DAO como quiera 00:17:47
Para conseguir esa funcionalidad 00:17:48
¿Vale? Pues por ejemplo, estudiaría así 00:17:51
Inventándome 00:17:52
DAOs y métodos 00:17:54
De base de datos 00:17:57
Plantando ahí las consultas y luego probándolo 00:17:57
Desde el otro sitio 00:18:00
Uno a priori se cree que se ha puesto cosas fáciles 00:18:01
O que va a ser fácil 00:18:05
Y luego en cuanto te pones a hacer las cosas 00:18:06
De cualquier cosa sale un error 00:18:08
Prácticamente de cualquiera 00:18:10
Entonces es bueno ponerse a hacerlo 00:18:11
Si uno no se pone a hacerlo 00:18:14
¿Cuánto tiempo le he completado? 00:18:15
Pues 00:18:18
Pues yo qué sé 00:18:21
Tres horas a cada cosa, cuatro horas 00:18:24
No sé 00:18:26
Adrián, dos 00:18:28
No lo sé 00:18:30
Lo que sí que os digo es que lógicamente 00:18:35
No vais a hacer un proyecto de cero 00:18:37
Qué parte esté hecha, qué parte no 00:18:39
Qué pido, qué no pido, eso no lo sé 00:18:41
Vale, pues así es como estudiaría 00:18:43
Ahora en particular esto 00:18:47
Pues me podría coger este proyecto de base y ya está 00:18:48
que no, igual me arriesgaría 00:18:51
no lo sé, como no estamos en modo 00:18:53
aprender ahora mismo, sino que estamos 00:18:55
en modo examen ahora mismo 00:18:57
pues no sé si me arriesgaría a pedirle 00:18:58
a chat GPT que me ponga cosas 00:19:01
porque igual se va a ir un poco 00:19:03
aunque no, aprenderíamos mucho 00:19:04
igual se va un poco 00:19:07
del contexto 00:19:08
exacto, el scope en el que 00:19:11
estamos nosotros para el examen, entonces pues yo 00:19:13
tiraría con algo más así y ya está 00:19:15
¿vale? 00:19:16
En los modelos de bases de datos 00:19:21
Que he usado la virtual 00:19:23
Para 00:19:24
Esto lo he borrado 00:19:25
Había otro ejemplo de bases de datos 00:19:28
Complicada que también la podía usar para estudiar 00:19:33
Bueno 00:19:36
Y lo que decías tú 00:19:37
Luis Fernando 00:19:39
Pues yo que sé, imagínate que hacemos aquí 00:19:40
Otro método de DAO de sede 00:19:44
Este, muy fácil 00:19:45
Public sede 00:19:47
Bueno, muy fácil 00:19:49
Pero luego uno se atasca 00:19:51
Vale, pues este va a necesitar 00:19:52
Efectivamente una select con interrogación 00:20:00
Entonces aquí 00:20:01
Esto 00:20:02
Bueno, que esta va a ser 00:20:05
Nuestra sede 00:20:09
Y ahora aquí, pues ahora ya 00:20:10
Tú te harías la sentencia 00:20:15
¿No se llamaba así la clase? 00:20:17
Ah, conexión 00:20:29
Se llamaba 00:20:30
Ese 00:20:30
Y ahora ya 00:20:35
Pues te haces tu sentencia 00:20:42
Aunque estamos en el examen basándonos en muy pocas cosas 00:20:44
En realidad a lo largo de las semanas hemos mencionado muchas 00:20:51
Y hemos visto muchas en realidad 00:20:55
Aunque luego nos hemos quedado un poco con las más básicas para el examen 00:20:57
Entonces a mí me gustaría que ninguna de todas ellas 00:21:00
Haya pasado por vuestro cerebro como un avión que aborta el aterrizaje 00:21:03
Algo se habrá quedado 00:21:09
Sí, JDBC, JPA puro 00:21:10
Spring Data JPA 00:21:20
Y Spring Data MongoDB 00:21:22
Bueno, a usar tu Lendity Manager 00:21:24
Directamente 00:21:29
Y gestionar tú las transacciones 00:21:30
Claro 00:21:34
Vale, y ahora aquí en este que nos haríamos 00:21:36
Esta SELEN sabemos hasta hacerla nosotros 00:21:39
incluso, aunque bueno, jose de tiempo 00:21:41
que no sepamos hacer ni esta 00:21:43
aquí tenemos que seleccionar 00:21:44
bueno, si la queremos con proyectos 00:21:47
sería la de arriba 00:21:54
la de arriba, lo que pasa es que aquí sí quedaría 00:21:55
un where, es decir, sería toda esta 00:21:57
claro, porque 00:22:00
si yo la quiero con todas las cosas 00:22:05
que le cuelgan, tengo que hacer todos los join 00:22:07
otra cosa es que yo quiera la sede 00:22:09
Solo con lo que hay en la tabla 00:22:11
Que es su ID y su nombre 00:22:13
Que sí, hombre, que sí 00:22:15
Que sí, hombre, que sí 00:22:20
Entonces 00:22:22
Aquí, pues pondríamos 00:22:24
Esta misma 00:22:31
Pero, ojo, eh 00:22:34
Pero aquí nos 00:22:35
Está el multi 00:22:38
Este habría sido más bonito, ¿verdad? 00:22:40
Que no entiendes 00:22:58
Y luego en los vídeos sale una tabla 00:22:59
De JVC 00:23:06
Una base de datos de una tabla 00:23:07
Claro, pero eso es para aprender 00:23:10
Sí, pero 00:23:13
Ay, qué malos estamos 00:23:15
Bueno, a ver 00:23:26
La voy a copiar entera otra vez porque se ha copiado tan fea 00:23:33
Que arreglar esto es casi más complicado que otra cosa 00:23:35
Entonces 00:23:37
Ana, deja de llorar 00:23:39
No hay razón para que llores tanto 00:23:42
Vale, entonces 00:23:45
Tenemos aquí el preparé statement 00:23:55
Ala, ya está 00:24:02
Y copiadita 00:24:03
Y es que el copiar y pegar 00:24:04
Hace muchas tontunas 00:24:06
Sí, va a ser lo mejor, que copie todo 00:24:08
Porque es que si no 00:24:22
A ver 00:24:23
A ver si ahora me la copia 00:24:28
Bien 00:24:34
Vale, voy a ver si ya es el Throws. Vale, pues entonces, aquí, ¿qué nos faltaría en esta consulta? Nos faltaría el web, ¿verdad? Aquí sacamos la sede con todos sus datos, todos los proyectos que tiene asociados, con todos sus platatín, de proyectos, sede, todo en platatín, patatón, pero aquí no los queremos todos. 00:24:40
queremos solamente 00:25:05
la sede cuyo id 00:25:07
pues aquí es donde podrías 00:25:08
pondrías 00:25:10
where 00:25:11
el campo sede punto id sede 00:25:12
igual 00:25:19
y aquí plantarías la interrogación 00:25:25
y podría haber más interrogaciones 00:25:26
pues donde haya 00:25:29
un dato de entrada, un parámetro, todas las interrogaciones 00:25:30
que quieras 00:25:33
y ahora ya aquí, pues ahora ya sí que aquí haríamos 00:25:34
en nuestra 00:25:37
ps de aquí 00:25:39
le diríamos, oye tú 00:25:40
la primera de las interrogaciones 00:25:43
ah, es un entero, la id debe ser un entero 00:25:45
¿verdad? 00:25:47
pues entonces le diríamos, oye tú 00:25:49
la primera de las interrogaciones 00:25:51
es un entero 00:25:53
¿y cuál va a ser? pues 00:25:55
este parámetro de aquí 00:25:57
id, este, y ya está 00:25:59
¿qué tienes más? pues la 2 00:26:06
la 3, la 4 00:26:08
¿vale? y ahora ya 00:26:10
una vez que esto está aquí, pues 00:26:12
El resto otra vez es un copia y pega 00:26:14
Aquí este while result set 00:26:17
Se va a ejecutar o una o ninguna 00:26:19
Depende de si 00:26:21
Esa set existe o no 00:26:23
Pero el código lo puedo reutilizar 00:26:24
Tal cual 00:26:26
Porque 00:26:27
Me estoy trayendo 00:26:28
Todo lo que tiene asociado 00:26:33
No solamente estos dos campos 00:26:35
Los proyectos 00:26:36
Me estoy trayendo todos los proyectos 00:26:37
Entonces 00:26:41
Lo que hicimos ayer 00:26:42
Entonces, como el mapeo sería igual 00:26:43
Todo sería igual 00:26:47
Lo que pasa es que aquí 00:26:48
Solo tengo una sed, esto se va a ejecutar una vez solamente 00:26:49
Una o ninguna 00:26:53
¿Vale? Entonces lo podríamos copiar todo 00:26:54
Tal cual 00:26:57
Todo el código 00:26:58
Todo tal cual 00:26:59
Y ya está 00:27:02
Claro, esto es el parámetro 00:27:12
¿Esto dices? 00:27:20
Bueno, esta es la cláusula de búsqueda 00:27:21
De la query 00:27:24
Estás buscando sede por id 00:27:25
La s es por la s de arriba 00:27:28
Sí, porque tiene un alias 00:27:30
Sede s 00:27:31
Tiene este alias 00:27:33
¿Vale? 00:27:34
Tiene el alias 00:27:37
Sí, sí, sí 00:27:38
Aquí lo que pasa es que este tenía una colección 00:27:43
Y devolvíamos la colección 00:27:46
Aquí solo tiene uno 00:27:47
Entonces bueno 00:27:48
Ah, vale, vale, vale, sí 00:27:49
La apuesta final de todo 00:27:59
Sí, unos crack 00:28:00
A ver 00:28:07
Vale, entonces esto 00:28:10
Se trata de 00:28:22
Retocar esto para que no me devuelva 00:28:24
Una colección, sino solo un elemento 00:28:27
Porque este while va a entrar 00:28:29
Una o ninguna, si no entra ninguna es porque 00:28:31
No existe, que devuelva null 00:28:33
Y si entra una vez 00:28:34
Porque la sede existe, entra una vez 00:28:37
Pues aquí en lugar de ir añadiendo 00:28:39
Claro, en lugar de ir añadiendo 00:28:40
Es esa única sede la que me devuelve 00:28:43
Y ya está, este código ya 00:28:45
Lo podéis retocar vosotros para que devuelva 00:28:46
La única sede y se acabó 00:28:49
Lo demás está igual 00:28:51
Bueno, de JDBC 00:28:51
¿Dudas de algo más de lo que pueda entrar o alguna cosa? 00:28:54
¿A qué te refieres con la clase de configuración? 00:29:00
Es que en JDBC es la conexión sin más 00:29:05
Porque parámetros de configuración como 00:29:08
Sí, nosotros usábamos esta 00:29:10
¿Vale? La clase conexión 00:29:21
Que esta en particular 00:29:23
Cogía las únicas tres propiedades 00:29:24
Que usaba, porque no usábamos parámetros 00:29:27
Como UTC, ni como Security, ni nada 00:29:29
Las cogía en particular de un properties 00:29:31
Pero, ¿podríais vosotros 00:29:33
También cascarlas 00:29:35
Aquí? 00:29:37
Si tú la tienes en tus proyectos 00:29:43
La puedes coger 00:29:45
Este es el proyecto modelo que usamos nosotros 00:29:46
La usábamos, entonces entiendo que 00:29:49
vosotros tenéis eso 00:29:51
de hecho, en el que hicimos 00:29:52
nosotros el otro día, dijimos 00:29:58
vamos a reutilizar 00:30:00
como nos es cómodo, vamos a reutilizarla 00:30:02
y la reutilizamos tal cual 00:30:04
del proyecto que vimos de ejemplo en su momento 00:30:06
entonces, pues si vosotros tenéis 00:30:08
que hacer eso desde cero, pues 00:30:10
os lo hacéis de otra manera, o reutilizáis 00:30:12
lo reutilizáis así, como más os guste 00:30:14
vale 00:30:16
pues entonces 00:30:17
JPA, vale 00:30:21
Voy a subir 00:30:23
Ahora mismo el mismo 00:30:26
Con esta misma base de datos 00:30:27
El proyectito 00:30:29
Con las entidades JPA hechas 00:30:32
Esta vez ya bien hechas 00:30:34
Y para ver un poquito 00:30:35
El repaso de JPA 00:30:37
¿Vale? 00:30:40
Porque si empezamos a hacerlo nosotros ahora 00:30:42
Pues no, nos estamos dos horas 00:30:44
Entonces 00:30:46
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Segundo Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
1
Fecha:
3 de marzo de 2026 - 17:07
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
30′ 48″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
148.01 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid