Upload
tacata
View
221
Download
0
Embed Size (px)
Citation preview
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
1/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
2/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
3/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
4/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
5/88
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
* A las tablas se las denominaba “relaciones”, de ahí el nombre de base de datos relacional
Tabla Libros idAutor nombre nacionalidad1 Antonio spa!ol
2 "erard #rances
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla $elacionLibroAutor
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
6/88
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
* A las tablas se las denominaba “relaciones”, de ahí el nombre de base de datos relacional
Tabla Libros idAutor nombre nacionalidad1 Antonio spa!ol
2 "erard #rances
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla $elacionLibroAutor
La in%ormaci&n se
relaciona mediante
identi%icadores 'id(
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
7/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
8/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
9/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
10/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
11/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
12/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
13/88
titulo precio
Bambi 3
Batman 4
SELECT titulo, precio
FROM Libros WHERE precio > 2
)onunto de resultados 'ResultSet (
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros
Situaci&n en la
base de datos)onsulta
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
14/88
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
SELECT *FROM Libros
)onunto de resultados 'ResultSet (
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros
Situaci&n en la
base de datos)onsulta +ue deuele
todas las %ilas de la tabla
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
15/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
16/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
17/88
idLibro titulo precio
1 Bambi 3
2 Batman 4
3 Spiderman 2
Tabla Libros idAutor nombre nacionalidad1 Antonio spa!ol
2 "erard #rances
Tabla Autores
idLibro idAutor
1 1
2 2
3 2
Tabla $elacionLibroAutor
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
18/88
titulo precio nombre
Bambi 3 Antonio
Batman 4 "erard
Spiderman 2 "erard
SELECT titulo, precio, &obre
FROM Libros, #utores, Relcio&Libro#utor
WHERE Libros(i)Libro Relcio&Libro#utor(i)Libro
#$% #utores(i)#utor Relcio&Libro#utor(i)#utor
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
19/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
20/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
21/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
22/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
23/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
24/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
25/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
26/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
27/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
28/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
29/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
30/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
31/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
32/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
33/88
Botón derecho
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
34/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
35/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
36/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
37/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
38/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
39/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
40/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
41/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
42/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
43/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
44/88
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
45/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
46/88
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
47/88
+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
48/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
49/88
Sttee&t stt co&&(creteSttee&t04.
ResultSet rs stt(e7ecute8uer;0
:SELECT titulo, precio FROM Libros WHERE precio > 2:4.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
50/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
51/88
65ile 0rs(&e7t044 / Stri&1 &e rs(1etStri&10:titulo:4.
9lot price rs(1etFlot0:precio:4.
S;ste(out(pri&tl&0&e @ :At: @ price4.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
52/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
53/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
54/88
65ile 0rs(&e7t044 /
Stri&1 &e rs(1etStri&10:titulo:4.
9lot price rs(1etFlot0:precio:4.
S;ste(out(pri&tl&0&e @ :At: @ price4.
Los índices
empie-an en
1 'no en .(
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
55/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
56/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
57/88
iport +(s-l(*.
public clss HolMu&)oBse%tos /
public sttic oi) i&0Stri&13 r1s4
t5ro6s Clss$otFou&)E7ceptio&, S8LE7ceptio& /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
Co&&ectio& co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
58/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
59/88
iport +(s-l(*.
public clss HolMu&)oDestio&Errores /
public sttic oi) i&0Stri&13 r1s4 /
tr; /
Clss(9or$e0:co(;s-l(+)bc(%rier:4.
ctc5 0Clss$otFou&)E7ceptio& e4 /
S;ste(err(pri&tl&0:El )rier &o se e&cue&tr:4.
S;ste(e7it04.
Co&&ectio& co&& &ull.
tr; /
co&& %rierM&1er(1etCo&&ectio&0
:+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
60/88
65ile 0rs(&e7t044 /
Stri&1 &e rs(1etStri&10:titulo:4.
9lot price rs(1etFlot0:precio:4.
S;ste(out(pri&tl&0&e @ :At: @ price4.
rs(close04.
stt(close04.
ctc5 0S8LE7ceptio& e4 /
S;ste(err(pri&tl&0:Error e& l bse )e )tos< :@
e(1etMess1e044.
e(pri&tStcTrce04.
9i≪ /
i90co&& &ull4/
tr; /
co&&(close04.
ctc5 0S8LE7ceptio& e4 /
S;ste(err(pri&tl&0:Error l cerrr l co&e7iJ&< :@ e(1etMess1e044.
"esti&n de
errores en elenío de
consultas
"esti&n de
errores al cerrar
la cone/i&n
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
61/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
62/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
63/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
64/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
65/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
66/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
67/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
68/88
Stri&1 url :+)bc
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
69/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
70/88
S0L esttico en tiempo de eecuci&n, no
acepta parmetros
ara eecutar la mismas sentencia
muchas eces 'la “prepara”( Acepta
parmetros
Llamadas a procedimientos almacenados
Sttee&t stt co&&(creteSttee&t04.
repre)Sttee&t ps co&&(prepreSttee&t0(((4.
CllbleSttee&t s
co&&(prepreCll0(((4.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
71/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
72/88
I$SERT I$TO Libros N#LES 0,'Bbi',"4
I$SERT I$TO #utores N#LES 0,'e)ro','HP&1ro'4
I$SERT I$TO relcio&libroutor N#LES 0,4
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
73/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
74/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
75/88
%ELETE FROM relcio&libroutor WHERE i)Libro
%ELETE FROM libros WHERE i)Libro
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
76/88
CllbleSttee&t cstt
co&&(prepreCll 0:/cll 1etEp$e 0,4:4.
cstt(setI&t0,4.cstt(re1isterOutreter02,+(s-l(T;pes(N#RCH#R4.
cstt(e7ecute04.
Stri&1 ep$e cstt(1etStri&1024.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
77/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
78/88
tr; /
co&&(set#utoCoit09lse4.
Sttee&t sttee&t co&&(creteSttee&t04.
sttee&t(e7ecutep)te0:%ELETE 4.
sttee&t(e7ecutep)te0:%ELETE 4.
co&&(coit04.
co&&(set#utoCoit0true4.
sttee&t(close04.
ctc5 0S8LE7ceptio& e4 / tr; /
co&&(rollbc04.
ctc5 0S8LE7ceptio& e4 /
S;ste(err(pri&tl&0:Error:4.
S;ste(err(pri&tl&0:Error4.
or de%ecto se hace
commit por cadasentencia a5 +ue
desactiarlo
)uando se han
eecutado todas las
sentencias, se hace
“commit”
Se uele a poner el
autocommit, para el
resto de la aplicaci&n
Si al6o
%alla, se
hace
“rollbac7”
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
79/88
%ELETE FROM relcio&libroutor WHERE i)Libro
%ELETE FROM libros WHERE i)Libro
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
80/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
81/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
82/88
creteSttee&t0
i&t resultSetT;pe, i&t resultSetCo&curre&c;4.
prepreSttee&t0Stri&1 S8L,i&t resultSetT;pe, i&t resultSetCo&curre&c;4.
prepreCll0Stri&1 s-l,
i&t resultSetT;pe, i&t resultSetCo&curre&c;4.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
83/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
84/88
rs(up)teStri&10Gcpo:, Glor:4.
rs(up)teI&t0, "4.
rs(up)teRo604.
rs(oeToI&sertRo604.
rs(up)teStri&10, :#I$SWORTH:4.
rs(up)teI&t02,"4.rs(up)teBoole&0", true4.
rs(i&sertRo604.
rs(oeToCurre&tRo604.
8uee el cursor a
la posici&n anterior
al moimiento a
inserci&n
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
85/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
86/88
65ile 0rs(&e7t044 /
Stri&1 &e rs(1etStri&10:titulo:4.
9lot price rs(1etFlot0:precio:4.
S;ste(out(pri&tl&0&e @ :At: @ price4.
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
87/88
8/18/2019 acceso_a_base_de_datos_desde_java_jdbc_41.0.ppt
88/88