Saltar navegación

Inserción con JDBC con clave ajena - 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 21 de mayo de 2024 por Maria Leticia R.

5 visualizaciones

Explicación de inserción con conector JDBC en una tabla que tiene clave ajena o foránea

Descargar la transcripción

Aquí empiezo vídeo para la consulta de inserción de tablas con relación 1N. 00:00:00
Nos habíamos quedado con una tabla solamente y a partir de aquí vamos a poder insertar datos dentro de una tabla que tiene una relación con clave ajena 00:00:06
y en este caso va a ser de marca y de coches. 00:00:18
En esta primera parte lo que vamos a hacer es crear las tablas, la nueva tabla. 00:00:23
Entonces, teníamos la base de datos de coches, tenemos la base de datos, o sea, la tabla de marcas, vamos a crear una nueva tabla que es la tabla coches. 00:00:28
En esta tabla coches lo único que voy a crear por ahora es un entero del modelo del coche 00:00:37
Que va a ser de tipo barchar 00:00:46
Y luego lo voy a dejar en 100 por ejemplo 00:00:49
Y vamos a crear aquí la clave ajena hacia la marca 00:00:52
Que va a ser, tiene que ser exactamente del mismo tipo que el ID que existe dentro de la tabla marcas 00:00:59
Entonces esto va a ser a su vez también un autoincremento, lo dejo en clave primaria 00:01:08
y esto en vez de coches lo voy a llamar id de coche, que sería mi identificador. 00:01:13
Aquí no tenemos que generar la clave primaria, sino que la creamos en el nombre de la tabla, por supuesto, que es coches. 00:01:23
Y lo guardo así. 00:01:31
Entonces, ahora tenemos una tabla que es coches, que tiene este ID de coche, el modelo y el ID de la marca 00:01:33
Veis que este ID de la marca es el que tiene que ser clave ajena y que apunte a la clave principal 00:01:42
Que es este que es ID de marca, que tiene esta estructura con la clave primaria, este también es autoincremento y la denominación 00:01:49
entonces sobre este 00:01:59
vamos a cambiar la estructura 00:02:01
entonces para poder 00:02:03
hacer que 00:02:05
esto sea clave ajena 00:02:08
aquí en otras bases de datos 00:02:09
no hace falta pero aquí sí que hace falta que esto 00:02:12
sea o bien un campo único 00:02:14
o bien dejarlo como tipo índice 00:02:16
o que el ID de coche sea ese 00:02:18
entonces una vez que lo tenemos 00:02:20
ya marcado 00:02:22
vamos a poder desde aquí decir que 00:02:23
este ID marca 00:02:26
Va a tener una relación con marcas 00:02:27
Pero lo podemos cambiar aquí también 00:02:33
Le digo que esto va a ser una foreign key 00:02:35
Y que va a ir de coches a marcas 00:02:37
Le digo que va a apuntar a la marca que está dentro de la tabla 00:02:42
O sea, dentro de la base de datos de coches 00:02:49
Y en la tabla marcas, con lo cual va a apuntar al ID de la marca 00:02:52
Y esto podríamos tenerlo con restricciones, o sea, de manera que cada vez que se hiciera un delete de una marca, se borraran todos los coches, que en tuyo caso sería esto en Cascade, y siempre que se hiciera una actualización, que sería en el OnUpdate, también esto se modificará en Cascada. 00:02:56
no es el caso, lo que voy a dejar es 00:03:18
en restrict, de manera que 00:03:21
si nosotros queremos borrar 00:03:23
una marca, no nos va a dejar 00:03:25
siempre que haya algún coche 00:03:27
asociado a esa marca, vale 00:03:29
entonces guardo esto 00:03:31
ya tenemos la consulta hecha 00:03:32
y ahora si nos vamos a la base de datos 00:03:35
y nos vamos a ver 00:03:37
el diseño que tiene 00:03:39
pues vemos que tenemos la relación 00:03:40
de las marcas con el coche 00:03:43
vale, de manera que 00:03:45
tenemos la marca 00:03:47
tenemos el ID de marca que va a apuntar a marca 00:03:49
entonces si nosotros queremos 00:03:52
incorporar un coche 00:03:54
inserto 00:03:55
esto puedo dejarlo a cero 00:03:57
puesto que el solo va 00:04:00
bueno, pues a incorporarlo 00:04:02
puedo decir que 00:04:06
es un Twingo 00:04:08
que me parece que es de Renault 00:04:10
el ID de la marca 00:04:11
pues no sé cuál es, pero si por ejemplo 00:04:13
le pongo un 7 00:04:15
no me va a dejar en este caso 00:04:17
añadir más que 00:04:19
el valor de las marcas 00:04:23
que ya están incorporadas 00:04:25
lo dejo en este 6 00:04:26
y si desde código 00:04:29
quisiéramos en un momento dado 00:04:31
añadir un código que no existe 00:04:33
me copio este 00:04:35
me voy al SQL 00:04:37
voy a dejar este mismo 00:04:38
y voy a decirle que voy a intentar 00:04:42
meter un código 00:04:45
que sea el 10 por ejemplo 00:04:47
este sabemos que la ID de la marca esta 00:04:48
no existe 00:04:51
intento el insert 00:04:51
dándole a continue 00:04:54
y vemos que esto nos da un error porque 00:04:56
no podemos añadir 00:05:00
algo que 00:05:02
haga 00:05:03
bueno pues que vaya contra 00:05:05
la integridad referencial es decir 00:05:08
que no haya ninguna clave ajena 00:05:10
dentro de marcas asociada 00:05:12
vale o sea que no puedo meter algo 00:05:15
que no esté la marca ya fijada 00:05:16
con lo cual ya tenemos la clave ajena 00:05:18
creada y funcionando sin problemas 00:05:20
vamos a empezar con 00:05:22
viendo que es lo que teníamos hecho 00:05:26
que es dentro del main 00:05:30
dejo esto comentado que eran las inserciones 00:05:31
y si ejecutamos 00:05:34
vemos que tenemos aquí un seleccionar marcas 00:05:36
que va imprimiendo por pantalla 00:05:38
y ahora mismo lo que tengo en la base de datos 00:05:40
es todo esto, Ferrari, Bugatti 00:05:42
Mazda, etc 00:05:44
entonces 00:05:46
Entonces teníamos la parte de la conexión y un marcadao donde tengo las inserciones. 00:05:47
En este caso estoy usando una conexión pero no tengo el tema del enlace. 00:05:56
Sería básicamente igual el hacerlo vosotros con el tema del enlace. 00:06:05
Lo primero que me voy a crear es un elemento que sea coche. 00:06:08
entonces este coche pues va a tener como habíamos visto un ID de coche 00:06:13
que va a ser de tipo privado y va a ser de tipo entero 00:06:19
tal y como tenemos también dentro de la base de datos 00:06:23
aquí el ID va a empezar en minúsculas sin guión bajo 00:06:26
y escrito de acamello como siempre 00:06:31
y va a tener el modelo que sería un string 00:06:34
entonces nos queremos también traer una marca 00:06:37
Y aquí no me voy a traer el ID de marca, sino directamente me voy a traer un objeto de tipo marca que va a conllevar su ID y el nombre que tiene cualquier marca. 00:06:41
Voy a incorporar el constructor vacío, puesto que voy a añadir ahora el constructor con todos los elementos, que va a ser utilizándolo todos los campos. 00:06:54
ahora getters y setters 00:07:13
también selecciono todos y los 00:07:14
incorporo y ahora el toString 00:07:19
que tendría aquí incorporado 00:07:20
este lo tengo sin 00:07:24
el string builder pero no pasa nada 00:07:25
entonces el coche ya lo tengo 00:07:28
generado y tal y como tenemos 00:07:30
un marca.dao pues también voy a necesitar 00:07:32
tener un 00:07:35
una clase que sea 00:07:35
un coche.dao 00:07:39
vamos a tener un dao para cada uno de los elementos 00:07:41
que hayamos generado 00:07:44
dentro de ese coche.dao pues lo que 00:07:45
voy a necesitar es igual que en marcada obtener por ejemplo una inserción de un coche 00:07:47
entonces la conexión la voy a utilizar así podríais utilizar el otro elemento igual que 00:07:55
aquí necesito tener un elemento estático que sea la conexión que voy a usar 00:08:02
entonces la sentencia la tengo aquí lo que voy a hacer una inserción esto ya no me vale de nada 00:08:10
nada, pero en vez de insertar en marcas, lo que voy a necesitar es insertar en coche, 00:08:16
¿vale? Se llama coches. Entonces, lo primero que tengo que mirar antes de insertar en marcas, 00:08:22
o sea, en coches, es comprobar que la marca que tengo, ¿vale? Corresponde con alguna 00:08:30
de las marcas que tengo aquí dentro, si no, me va a dar un error, ¿vale? Y además, la 00:08:37
siguiente derivada sería, si no está la marca, en general lo que voy a querer es que 00:08:44
inserte la marca, ¿vale? O sea, si ya existe, que no la inserte, pero si no existe, que 00:08:49
la inserte, ¿vale? Y me pueden ocurrir dos cosas, que exista la marca con un ID determinado, 00:08:54
porque lógicamente cuando yo vaya a darle un coche, creo que yo voy a lanzarle por aquí, 00:09:02
y realmente todo parámetro va a ser un coche y ahí me va a venir la marca dada, ese coche que importo, 00:09:08
el ID que corresponda a la marca realmente no tiene por qué corresponder, eso para mí es lo de menos, 00:09:19
simplemente es que el nombre esté dentro de la base de datos y realmente no tiene por qué coincidir. 00:09:26
Entonces, esto es lo primero que vamos a hacer 00:09:31
Vamos a preguntar a ver si esa marca está ya dentro de la base de datos que tenemos 00:09:34
Entonces, vamos a hacer una select de marca 00:09:42
En la cual coincida el nombre de la marca con el elemento que yo le estoy pasando 00:09:47
vale, entonces 00:09:54
lo que necesitamos saber es si 00:09:56
de marca 00:09:58
la o 00:10:00
de marca la o, punto 00:10:01
marca 00:10:05
en las de datos por ejemplo 00:10:07
y le tengo que pasar 00:10:10
el nombre de la marca 00:10:12
que yo quiero 00:10:13
comprobar, vale, que para 00:10:15
mí sería 00:10:18
get marca punto 00:10:19
get denominación de la marca 00:10:22
que es como habíamos llamado 00:10:24
que ese método no está hecho 00:10:25
esto lo vamos a tener que hacer 00:10:28
entonces si la marca ya está dentro 00:10:29
entonces ya sí que tengo que hacer 00:10:31
todo lo que hay aquí 00:10:34
que sería insertar 00:10:34
en coches 00:10:37
el valor 0 00:10:39
que sería de coche 00:10:40
punto get 00:10:42
no se llama de marca 00:10:44
sino que se llama 00:10:48
.get 00:10:49
modelo 00:10:51
y además tendré que pasarle 00:10:52
después del modelo 00:10:55
aquí 00:10:57
tendré que darle también 00:10:58
identificador 00:11:02
que corresponde 00:11:04
a la 00:11:07
esto aquí 00:11:08
que coincida con el más 00:11:11
es el que borra 00:11:13
eso es 00:11:16
y tendría que ser de coche 00:11:18
punto get 00:11:22
el marca 00:11:24
punto 00:11:26
esto no me gusta mucho 00:11:27
el get id de marca 00:11:32
de aquí 00:11:34
porque no necesariamente yo tendría 00:11:34
por qué pasarle un id de la marca 00:11:38
con el coche que le estoy pasando 00:11:39
entonces lo que vamos a hacer es que 00:11:41
desde aquí crearme un entero 00:11:43
que sea el id de marca 00:11:46
que en principio esté a cero 00:11:50
y a ese id de marca 00:11:52
que es al que voy a asignar 00:11:54
¿vale? 00:11:59
this marca en vez de esto 00:12:03
me va a dar un 00:12:05
un boolean 00:12:05
realmente 00:12:08
pero pues le vamos a decir 00:12:09
que 00:12:13
devuelva un número distinto 00:12:13
de cero en el caso 00:12:17
en el que haya encontrado algo, ¿vale? Que devuelva, este lo vamos a hacer que devuelva 00:12:19
un entero mejor. Entonces, si el ID que le voy a asignar a marca, que si este es distinto 00:12:24
de cero, va a ser mi pregunta. Y así solucionamos mejor. Entonces, me faltaría hacer este método, 00:12:33
vale 00:12:41
si eso, pues simplemente 00:12:43
incorporo esto y en vez de darle 00:12:45
este id de marca 00:12:48
mejor 00:12:49
recojo el que he recogido 00:12:50
vale, o sea, simplemente compruebo por nombre 00:12:53
y ya una vez 00:12:56
que lo tenga, pues inserto 00:12:58
entonces lo que me queda es 00:12:59
comprobar si 00:13:01
este id de marca 00:13:03
está o no está 00:13:06
vale, entonces 00:13:07
Vamos a hacer un, si la marca está dentro de la base de datos, tenemos que hacer una select en la cual recojamos después el ID. 00:13:09
Entonces, si voy a llamar a, esto es un public, pues puedo hacer un seleccionar marcas que está dentro del mismo. 00:13:26
No, pero le tendría que pasar el nombre. Tengo que hacer un seleccionar marcas distinto. 00:13:33
vale, pues entonces 00:13:39
vamos a copiarlo y pegarlo tal cual 00:13:41
aunque no haría falta hacer tanto rollo 00:13:43
pero bueno 00:13:46
también devuelvo 00:13:46
un result set, voy a recoger 00:13:50
solamente el 00:13:52
id de la marca 00:13:53
from marcas 00:13:55
y en el cual 00:13:56
la denominación de la marca 00:14:00
sea igual 00:14:02
a el den marca 00:14:04
que yo le he pasado 00:14:06
vale 00:14:07
entonces nos faltaría hacer esto 00:14:08
que aparezca la comilla 00:14:11
ahora le pongo el de enmarca 00:14:13
más 00:14:15
doble y con comilla 00:14:16
dentro, vale, esta sería 00:14:19
mi select, select el id 00:14:21
de marca from marcas, fuerte en 00:14:23
marca, sea esto 00:14:25
ejecutamos el query 00:14:26
entonces le vamos a decir que 00:14:28
rsnext 00:14:35
que esto yo creo que nos da un true 00:14:37
vale 00:14:40
entonces 00:14:41
no devuelvo nada sino simplemente 00:14:43
no necesito generarme 00:14:46
nada por el estilo que me va a devolver 00:14:49
es un entero 00:14:50
vale 00:14:51
entonces 00:14:52
me voy a crear ese entero 00:14:54
el id de marca 00:14:57
y le digo 00:15:00
que el id de marca 00:15:02
le asigno 00:15:03
get int 00:15:11
de id de marca 00:15:13
o de cero como queráis 00:15:15
¿vale? y devuelvo 00:15:17
el id de marca 00:15:19
este retón cero es el que tenía 00:15:21
de antes ya 00:15:25
vale, entonces esto es lo que me va a devolver 00:15:26
va a devolver un entero 00:15:28
en el caso en el que esta select 00:15:30
devuelva un valor 00:15:33
y si no, pues me tendría que devolver 0 00:15:34
que es con el valor con el que yo inicializo el ID de la marca 00:15:38
y si existe, lo que me va a devolver es el ID 00:15:41
voy a probar a ver si esto está funcionando bien 00:15:45
antes de hacer el insert 00:15:49
como práctica 00:15:51
y entonces 00:15:57
Entonces, para eso lo vamos a probar desde nuestro principal. 00:16:00
Tenía aquí toda la selección de marcas que le voy a dejar tal cual. 00:16:13
Voy a escribir aquí para diferenciar todo lo que tengo a continuación. 00:16:17
Y lo que voy es a crear un nuevo coche, que es el que yo voy a querer insertar, que va a ser un nuevo coche de, pues, teníamos Toyota, ¿no? 00:16:26
Importo el coche y va a ser, voy a poner un número cero porque voy a insertar como cero, eso me da igual. 00:16:49
y va a ser por ejemplo un verso 00:16:55
y la marca 00:16:57
tenemos que hacerlo como una marca 00:17:00
de la marca Toyota 00:17:03
que el ID me va a dar igual 00:17:06
porque podría tener cualquier ID 00:17:09
que en principio no debería depender 00:17:12
del ID que yo tuviera 00:17:14
porque no tengo porque sabes realmente 00:17:16
los IDs que haya 00:17:18
y con ese 00:17:19
Como le he dicho que escribo por el otro lado 00:17:21
Y todavía no voy a insertar nada 00:17:26
Pues simplemente voy a hacer que 00:17:27
De coche he dado 00:17:30
Coche he dado 00:17:31
Punto insertar una 00:17:33
Marca, lo llamo insertar una marca 00:17:35
Es que no lo he cambiado 00:17:38
Insertar un coche 00:17:39
Un coche 00:17:41
Y un coche he dado también 00:17:44
Insertar un coche 00:17:46
Vale 00:17:47
pues vamos a ver si esto 00:17:52
funciona bien, inserto el coche C 00:17:54
vale, entonces 00:17:57
continúo por aquí 00:17:59
esto es lo que está dando un fallo 00:18:00
porque había puesto el ID 00:18:03
de marca que pertenecía al coche 00:18:05
no el ID de marca tal y como está aquí 00:18:06
así que lo voy a sustituir por el 1 que es más fácil 00:18:08
entonces si ejecuto 00:18:11
veis que Toyota corresponde al 6 00:18:12
entonces 00:18:14
desde aquí está encontrando 00:18:15
bien la marca que corresponde 00:18:18
entonces nos faltaría terminar esto 00:18:20
en el momento en el que encuentre una marca 00:18:21
que inserte los valores del coche donde corresponde 00:18:24
y que nos devuelva en un momento dado 00:18:29
el número de filas que ha insertado 00:18:31
que esto podría devolver un boolean 00:18:33
y que nos devuelva desde el retorno 00:18:37
el row inserted 00:18:39
pero tengo esto que declararlo 00:18:43
aquí fuera 00:18:46
para luego poder utilizarlo 00:18:48
¿vale? Y probablemente me dirá que lo inicialice. Return row inserted, que inicialice el valor 00:18:51
y ya está, lo tengo a false. Vale, entonces, el insertar un coche, si existe, o sea, la 00:19:05
marca ya existe, entonces yo no necesito insertar la marca. ¿Qué pasaría con el else? Pues 00:19:15
con el else, quizás sería más sencillo, en el sentido de que solamente hay que insertar, 00:19:21
hay que hacer las dos cosas, hay que insertar en el coche, ¿vale? Con la marca que tenga 00:19:28
y además tengo que, bueno, no sería más sencillo porque tengo que hacer la otra versión 00:19:40
que es insert into marcas. Bueno, esto no me hace falta hacerlo. Realmente podría llamar 00:19:45
a marca.insertar. A ver si me sugiere. No me sugiere. Voy a grabarlo. A ver si así 00:19:54
Vamos a ver qué hay. Insertar una marca y le tengo que pasar la marca que quiero que inserte que va a ser decoche.getmarca, ¿vale? 00:20:10
Y lo malo ahora es que yo no sé cuál es el código con el que ha insertado este getmarca, ¿vale? 00:20:40
Entonces igualmente voy a tener que preguntar cuál es el id que le corresponde a esa marca que acabo de insertar, ¿vale? 00:20:50
Con lo cual otra vez tendría que hacer esto. 00:21:00
Pero ahora ya sé que está insertada porque lo acabo de hacer. 00:21:04
entonces que me devuelva 00:21:06
de aquí 00:21:09
el deadmark 00:21:10
y ya 00:21:13
pues simplemente 00:21:15
haría el insert into coche 00:21:17
entonces como veis que esto se me repite las dos veces 00:21:19
y al final es exactamente igual 00:21:21
porque al final lo que he hecho es 00:21:23
asociar ese id que acabo de insertar 00:21:25
ahí 00:21:28
pues lo que voy a hacer es borrarlo de aquí 00:21:28
y ponerlo fuera del if 00:21:31
y se ha acabado 00:21:33
vale entonces en un caso 00:21:34
O sea, siempre voy a insertar en coches con el ID de marca que tenga, pero en un primer caso he necesitado, o sea, si ya está, no hago nada más que asignárselo, pero si no está, es cuando tengo que insertarla. 00:21:36
entonces 00:21:54
casi lo que vamos a hacer es 00:22:00
simplemente 00:22:02
dejarlo a que si es igual 00:22:03
que lo inserte y que no haya 00:22:06
ese 00:22:08
y aquí yo creo que me falta 00:22:09
que me sobra 00:22:12
dice 00:22:14
vale pues ya tendría el caso 00:22:15
general en el que puedo tener 00:22:20
coches para insertar 00:22:22
que ya esté la marca dentro 00:22:24
y puede haber otros 00:22:28
en el que la marca no esté dentro 00:22:30
entonces ya automáticamente 00:22:31
también va a insertar la marca donde tiene que haber 00:22:34
vamos a hacer 00:22:36
los dos casos, este sería 00:22:37
este primer caso en el que sí 00:22:39
que el coche ya tiene esa marca 00:22:42
y ahora voy a 00:22:44
crear otro más que sea 00:22:46
el uno 00:22:48
y este voy a llamarlo 00:22:51
coche nuevo que marca guía. Y ya con esto tendríamos que insertar este otro coche que 00:22:54
Aquí no me tiene por qué dar ningún mensaje, pero pues voy a actualizar, ¿vale? 00:23:20
Entonces tenemos la nueva marca que he insertado, este de Toyota, aquí en coches, pues tenemos el que había metido antes con la marca, este es Toyota, este no es Toyota, este es Renault, pero bueno, lo había metido así a web. 00:23:35
Y luego el logo que acabo de meter con la marca Toyota, que es la que he insertado el tamaño de la base. 00:23:52
¿Vale? 00:24:01
Bueno, pues esto sería en cuanto a la inserción. 00:24:02
Vamos a hacer ahora la select de cualquiera de los inventos. 00:24:06
Vale, entonces, para hacer la select, pues igual vamos a necesitar aquí dentro de coche DAO 00:24:14
realizar esa selección 00:24:23
nos vamos aquí 00:24:25
a hacer una select 00:24:32
entonces vamos a empezar desde marca 00:24:33
que sería, voy a coger este mismo 00:24:35
de seleccionar que va a ser similar 00:24:39
y desde aquí, desde el coche 00:24:41
vamos a hacer esa selección 00:24:43
pero en vez de seleccionar marcas 00:24:45
vamos a seleccionar coches 00:24:47
y vamos a obtener un listado 00:24:49
de coche 00:24:51
esto va a ser 00:24:52
listado de coche 00:24:55
Arrae list de coche 00:24:57
Y lista 00:25:00
Coches 00:25:02
El result set igual 00:25:03
La conexión igual 00:25:06
Entonces vamos a seleccionar 00:25:07
Vamos a tener que seleccionar 00:25:10
De coches 00:25:13
Y de marcas 00:25:15
Porque van a ser las dos cosas 00:25:16
Lo que vamos a necesitar 00:25:17
Para generar toda la lista 00:25:20
Entonces esto 00:25:21
En vez de un new marca 00:25:24
Lo voy a quitar 00:25:25
Y vamos a ir añadiendo a lista coches lo que vayamos necesitando 00:25:27
Entonces lo primero, la select vamos a realizar 00:25:33
Si queréis la hacemos aquí primero y así veis que funciona como debe ser 00:25:37
Entonces tendríamos aquí estos tres elementos 00:25:42
Si queréis no hace falta realmente punarlo 00:25:47
Tendríamos el coche, el modelo 00:25:50
voy a hacer primero con los dos 00:25:53
y vamos a recuperar 00:25:55
tanto de coches como de marcas 00:25:58
de marcas 00:26:00
y desde aquí vamos a seleccionar 00:26:08
de marcas 00:26:13
el ID ya lo tenemos 00:26:13
y va a ser 00:26:15
la denominación 00:26:18
de la marca 00:26:19
Entonces, si ponemos el ID de marca así, necesitamos decirle que como está en dos tablas distintas, pues podría ser de coches o puede ser de marcas 00:26:21
Entonces hay que definir de qué tabla vamos a recuperar los datos 00:26:33
Podéis establecer alias o no establecer alias, no da igual 00:26:39
Pero aquí tendremos que decirle que el ID de la marca tiene que coincidir exactamente con el de marcas, punto, el ID de marca, ¿vale? Para que filtre sobre el join que hace de las dos tablas. 00:26:45
al hacer el join haría la mezcla 00:27:02
de todos los campos de unos con otros 00:27:04
y nos daría información 00:27:06
que no es la que queremos 00:27:08
entonces con esto 00:27:09
pues ya veis que estamos, lo que vamos a querer 00:27:11
obtener al final es el ID del coche, el ID 00:27:14
de la marca y la denominación 00:27:15
y que corresponde 00:27:17
todos los datos 00:27:19
solamente aquellos coches 00:27:21
que están dentro de la tabla y con las 00:27:23
marcas y el nombre de la marca que le corresponde 00:27:25
entonces 00:27:28
con esto ya tendríamos 00:27:29
select montada 00:27:31
que podéis 00:27:32
casi poner aquí 00:27:35
directamente 00:27:37
no hace falta ni ponerle 00:27:38
tanto el modelo 00:27:43
vale, esto es de 00:27:46
marcas, de coches 00:27:47
en el que 00:27:50
esto corresponde a eso 00:27:51
vale, ejecutaría la query 00:27:53
pero ahora 00:27:55
tendría que ir recuperando 00:27:56
todos los datos 00:28:00
y para eso pues tendré que hacer un new coche en el que recupero el id del coche que sería lo primero 00:28:00
rs.getint de 1, empieza en 1 siempre, luego el modelo va a ser el getString con la segunda columna que es la 2 00:28:08
el tercer elemento 00:28:26
realmente va a ser 00:28:29
la marca en el 00:28:31
constructor de coche 00:28:33
si os acordáis dentro del constructor de coche 00:28:34
tenemos el ID 00:28:37
el modelo y ahora la marca 00:28:39
con el cual me voy a tener que generar 00:28:41
mi marca 00:28:43
con el cuarto elemento 00:28:43
que para mí es 00:28:46
rs.getin 00:28:48
de este 00:28:50
que es el tercero 00:28:53
Y a continuación vendría el GetString del cuarto elemento. 00:28:55
Ya tendría mi lista de coches, en el que está una marca dentro del coche que me he generado. 00:29:05
Desde el principal, ¿qué voy a hacer? 00:29:13
Pues llamar a coche.seleccionar coches. 00:29:14
esto me va a devolver una lista 00:29:24
pues igual que tenía aquí 00:29:26
voy a hacer con la lista 00:29:28
debería de comentar esto 00:29:30
o insertar 00:29:37
a lo mejor 00:29:39
un par de coches más 00:29:40
que podría ser 00:29:42
DMV 00:29:44
no sé si es un X5 00:29:52
y si queréis 00:30:00
pues ponemos 00:30:05
un Q5 00:30:06
de Audi 00:30:08
la nueva marca ya la teníamos 00:30:10
bueno pues fenomenal 00:30:16
inserta uno y otro y ahora 00:30:17
que nos seleccion 00:30:20
y con esto pues tendríamos ya 00:30:21
los cinco coches que tenemos ya 00:30:26
los dos que acabamos de insertar con la denominación de la marca y el ID de la marca que tiene 00:30:30
el coche. Y así es como vamos a trabajar en Java, o sea, con la lista de todos los 00:30:36
elementos que ya hacen la relación aquí dentro de un dato y otro. Es como habéis 00:30:42
estado trabajando hasta ahora en Java, ¿vale? Pero realmente dentro de la base de datos 00:30:47
no corresponde con la forma que tienen en las tablas. Pero con el resto sería igual, 00:30:51
Vale, dejo este momentín. Y aquí esto es lo que os paso. También lo dejo el archivo en los ejercicios de clase. Vale, pues hasta luego. 00:30:58
Idioma/s:
es
Autor/es:
Leticia Riaza
Subido por:
Maria Leticia R.
Licencia:
Todos los derechos reservados
Visualizaciones:
5
Fecha:
21 de mayo de 2024 - 12:39
Visibilidad:
Clave
Centro:
IES TETUAN DE LAS VICTORIAS
Duración:
31′ 15″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
106.46 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid