java bases sql
TRANSCRIPT
-
7/25/2019 Java Bases SQL
1/43
AVA FOR HACK X CRACKQue es Java?
enguaje de programacin nacido en 11 su padre SUN MICROSYSTEMS,
presa "a cua" #aido "a promo$ora de es$e desde e" principio de "os $iempos%
&e'ido a" avance en "as $ecno"og(as de compu$adoras) versa$i"idad en "os sis* di+erencias
en$re "os mismos &ic#a empresa desarro""a un cdigo ,neu$ra"- e" cua" de correr endi+eren$es $ipos de p"a$a+ormas sin impor$ar "a ma.uina * e" $ipo de s
.ue maneje)orriendo "as ap"icaciones en una ,ma.uina vir$ua"- JAVA VIRTUAL MACHIN+uncin en
par$icu"ar de es$a JV/ es conver$ir e" cdigo java a" +orma$o i0o "enguaje code "a ma.uinan$riona #aciendo de es$e un "enguaje apreciado #o* d(a por muc#os program
gracias au mu"$ip"a$a+orma%
2n 'reve repasocon$inuacin a"gunas carac$er(s$icas "as cua"es #acen de java marcar "a
erencia en$remuc#os "enguajes de programacin3
45/6L5C5&A&3Que sea simp"e no .uiere decir.ue seamenos po$en$e .ue o$ros "enguaje
deprogramacin no7
4o"o .ue java posee "as +uncionesde un
enguaje po$en$e * ro'us$o) e"iminandounciones mu* poco usadas * con+uss a"
usuario%
&548R5925&O3n cuan$o a su dis$ri'ucin ap"ica a"
manejode "i'rer(as .ue es$e incorpora
8C6056 * pro$oco"os como #$$p * +$paacceder a 'ases de da$os) c#
*
+unciones .ue seencuen$ren en
ordenadores remo$os%
-
7/25/2019 Java Bases SQL
2/43
RO92485C5&A&Lo .ue ""eva a java a ser un "eng
ro'us$odirec$amen$e es su pro$eccin
a"programador en cuan$o a even$eserrores de programacin) vericandos
mismos en $iempo de compi"acin comen$iempo de ejecucin%
=!28RAL5&A&4u neu$ra"idad se 'asa en "a geacin de
un cdigo o'je$o e" cua" es inden$e
de "a ar.ui$ec$ura de cua".uier ma.e"
c#ero generado por un compi"ador dva
ac$ua"men$e $iene sopor$e para sis
4o"aris) Linuindos) /ac) App"e !
2
www.hackxcra
4!@2R5&A&" cdigo Java pasa muc#os tests an$
es deejecu$arse en una m.uina% !" cdigo
sepasa a $ravBs de un vericador de'*$eDodes .ue comprue'a e" +orma$o de
osragmen$os de cdigo * ap"ica un pro'dor
de $eoremas para de$ec$ar +ragmen$osdedigo i"ega" Dcdigo .ue +a"sea
pun$eros)vio"a derec#os de acceso so're o'je$os
on$en$a cam'iar e" $ipo o c"ase de uno'je$oD
4i "os '*$eDcodes pasan "a vericacinsin
generar ningEn mensaje de error) en$onesa'emos .ue3
!" cdigo no producedes'ordamien$o de operandos enpi"as
!" $ipo de "os parme$ros deodos
"os cdigos de operacin son
conocidos * correc$os
en$eros en pun$eros !" acceso a "os campos de
o'je$ose sa'e .ue es "ega"3 pu'"i
iva$e)pro$ec$ed
=o #a* ningEn in$en$o devio"ar "as
reg"as de acceso * s
dad es$a'"ecidas
-
7/25/2019 Java Bases SQL
3/43
R8A95L5&A&por$a'i"idad va desde su poder
ucin en mE"$ip"es p"a$a+ormas) #as$ai$ar un en$orno desarro""ado idBn$ico
a $odos "os usuarios en diversa
.uinas%
!R6R!8AC5O=ema RunD8ime es e" in$erpre$e de
argado de "a ejecucin de" cdigo o'je$o
Enmen$e e" in$erpre$e consume menosursos .ue a" compi"ar e" code por "o .
o$ros como desarro""adores java
$endremos ms $iempo para crear) ser
java un "enguaje in$erpre$ado "o ms
"en$o .ue o$ros "enguajes de procincompi"ados *a .ue es$e :java;
serin$erpre$ado * no compi"ado *a
nocuen$a #as$a a#ora con un cdorpropio para cada p"a$a+orma%
OR5!=8A&O A O9J!8O44opor$a "os $res paradigmas +undamspara "a orien$acin a o'je$os3!ncapsu"acin) #erencia * po"imorsmo
=8OR=O4 &! &!4ARROLLO
-
7/25/2019 Java Bases SQL
4/43
=os 2'icamos en e" direc$orio donde es$e se ins$a"a 6or de+ec$o es :C3Arc#ivos de 6maJava; $a" veengas o$ras versiones ins$a"adas se"eccionas "a ms recien$e .ue $engas ins$a"ada "o ro'a'"e es .ueea "a .ue aca'amos de ins$a"ar indos I R 8ipeamos C/& !n$er
Hacemos una esca"a de direc$orios #as$a ""egar a" &irec$orio Ra( C3\conelcomandoC
! www.hackxcrack.es
uando
estemos
en
c:\ tipeamos javac
Si
Nos
muestra
algn
error
de
n
econocerelcomandoesporquenoestbienconfguradonuestropatperosi
Y #un$ones de
-
7/25/2019 Java Bases SQL
5/43
o se estar&n pre"untandoe' path para (u)*+s e' path nos perm$t$r&er re#eren$a a
mponentes
ra nuestro Uso D
on es$o podemos con p"ena cer$ea compi"ar * !jecu$ar programas !scri$os en JAprimera
medida compi"emos nues$ro primer programa) A" 5gua" .ue en muc#as ocasiones aremos a"s$re""a$o programando e" popu"ar ,HOLA /2=&O-
" www.hackxcrack.es
6RO@RA/A=&O J CO/65LA=&O =2!48RO 6R5/!R 6RO@/A!= JAVA ,HOLA /2=&O-
Concep$os a $ener en cuen$a an$es de iniciar3Q2! !4 2=A CLA4!?
-
7/25/2019 Java Bases SQL
6/43
2n mB$odo JAVA es un 9"o.ue de cdigo .ue se "e asigna un nom're para ser """uego en cua".uier
ven$o de" programa%is$o despuBs seguimos con ms concep$osmpeamos a programar en JAVA nada mas 'as$a con a'rir un edi$or de $e
-
7/25/2019 Java Bases SQL
7/43
a" Ve si nunca #as programado en java $e pregun$aras 6or &ios Que es es$e c?
is$o e
-
7/25/2019 Java Bases SQL
8/43
ouble
res
=
3.5;
ouble
numero1;
&ec"aramos una varia'"e res con va"or de ]% * una varia'"e numero1 sin nina"or $a" ve "aec"aramos para asignar"e a"gEn va"or duran$e "a ejecucin de" programaoa$ varia'"e1)varia'"eM)varia'"e]Soa$ nn NNS
&ec"aramos inicia"men$e ] varia'"es sin va"or * mas a'ajo una varia'"e nn con va"or
Varia'"es de $ipo 4i$c# Fa"so o Verdaderooolean
respuesta1=true;
ariable
respuesta1
equivalente
a
true
verdadero
os va"ores .ue puede $omar una varia'"e de $ipo 9OOL!A=) son va"ores "gs decir) 8R2!verdadero; o FAL4! :+a"so;
am'iBn !ncon$ramos o$ros $ipos de da$os primi$ivos como c#ar) "ong) '*$e .ue
$ra$ados con
os$eridad por a#ora $ra'ajaremos con es$os $ipos de da$osS &
&!=85F5CA&OR!43
2n iden$icador es un nom're .ue o$orgamos a una varia'"e para di+erenciar"a
de" programa)
ic#os iden$icadores es$n regidos por a"gunas reg"as e
-
7/25/2019 Java Bases SQL
9/43
[ Ho"a 4o* 2n Comen$ario en Java
[ &e Varias Lineas &
[0
9ien a#ora $eniendo unos cuan$os concep$os 'sicos $iramos e" code3
u'"ic c"ass suma
pu'"ic s$a$ic void main :4$ring W args;V
n$ num1 MNSin$ numM MNSin$ sumaSsuma num1 I numMS
4*s$em%ou$%prin$"n:Y!" resu"$ado esYIsuma;SZ
-
7/25/2019 Java Bases SQL
10/43
uma num1InumMS*s$em%ou$%prin$"n:Y!" resu"$ado es3YIsuma;SZ
=os $opamos .ue #emos usado "a ins$ruccin impor$ con "a .ue%% si si%% amos "a "i'rer(a
ava%u$i"%4canner para poder recuperar en nues$ras varia'"es "os da$os digi$ados en "a a %&/edian$e num1 reader%ne
-
7/25/2019 Java Bases SQL
11/43
pu'"ic s$a$ic void main:4$ring ArgsW;in$ edaddejuan) edaddecar"os) edaddemigue"S
4canner reader ne 4canner:4*s$em%in;S4*s$em%ou$%prin$ :Y&igi$e "a edad de juanY;S
edaddejuan reader%ne= 18) {
System.out.println("CARLS !#$# #%&RAR A LA $'SC A # &'#%#"*edaddecarlos)+
{
System.out.println("CARLS % !#$# #%&RAR A LA $'SC A # &'#%#"*edaddecarlos)+
edaddecar"os es ma*or o igua" : ` ; a 1P escri'a CARLO4 62!&! !=8RAR A LA
no es as(3 CARLO4 =O 62!&! !=8RAR A LA &54CO" verdad?
11 www.hackxcrack.es
/A@!= &!L !J!RC5C5O A=8!R5OR
-
7/25/2019 Java Bases SQL
12/43
=48R2CC5O=!4 &! R!6!85C5O= ,C5CLO FOR-
2n 6oco mas de 8eoria%% es 'ueno por .ue muc#os ,6rogramadores- so"o con" nom're de "as
unciones) no se muc#as veces usan ins$rucciones en un "enguaje por ,inercia- 'ue%% s%%
" 9uc"e FOR es una es$ruc$ura de con$ro" disponi'"e en casi $odos "os "engue programacin%%
O+reciBndo"e a" programador "a posi'i"idad de denir cuan$as veces desea generar de$eraccin
in$a
-
7/25/2019 Java Bases SQL
13/43
omo vemos pedimos e" numero de "a $a'"a .ue deseamos ver * median$e e" ,+or- iniciamos "a
aria'"e ,varia'"e1- en un va"or de ,1- e incremen$ndo"a #as$a .ue sea menor a "uego mos$ramos "a
a"ida por pan$a""a con un mensaje en e" cua" $am'iBn ""eva "a operacin de mu"$%
=48R2CC5b= &! R!6!85C5O= C5CLO ,>H5L!- /ien$as Q2!
s$a es o$ra ins$ruccin poderosa a" momen$o de repe$ir '"o.ues de cdigo) su +uncia cen$rada enjecu$ar '"o.ues de cdigo mien$ras una ins$ruccin sea verdadera%
in$a#i"e :Condicin;V
5ns$rucciones%%
Z
a"e !jemp"o%%%Hacer 2n programa .ue pida e" nEmero de no$as a $ra'ajar * "as promedie%
[6RO/!&5O &! =O8A4285L5A=&O C5CLO >H5L! != JAVA YRecuerda 4o* 2n Comen$ario &Y0mpor$ java%u$i"%4cannerS
13 www.hackxcrack.es
u'"ic c"ass promediodeno$as
u'"ic s$a$ic void main :4$ring ArgsW;&ec"aracion de Varia'"esn$ nnSn$ $ope 1Soa$ nSoa$ no$as NScanner readerne 4canner:4*s$em%in;S
-
7/25/2019 Java Bases SQL
14/43
nreader%ne
-
7/25/2019 Java Bases SQL
15/43
-
7/25/2019 Java Bases SQL
16/43
=e
-
7/25/2019 Java Bases SQL
17/43
a .ue $enemos e" +ormu"ario "is$o so"o $enemos .ue arras$rar con$ro"es de "a pa"e$a on$ro"es .ue sencuen$ra a "a derec#a%
Hagamos un primer ejercicio 'sico arras$ramos ] j$e
-
7/25/2019 Java Bases SQL
18/43
856O4 &! /!=4AJ!4 CO= JO685O=6A=!
" code siempre ser e" mismo "o Enico .ue muc#as veces de'emos mos$rar di+eren$es de mensajesjemp"os3
/ensaje de !rror
JOp$ion6ane%s#o/essage&ia"og:$#is) Y%38!X8O /!=4AJ!33%Y) Y8582L5/O=4AJ!Y) JOp$ion6ane%!RROR/!44A@!;S
/ensaje de 6regun$a
JOp$ion6ane%s#o/essage&ia"og:$#is) Y%38!X8O /!=4AJ!33%Y) Y8582L5 /O=4AJ!Y)JOp$ion6ane%Q2!485O=/!44A@!;S
/ensaje de Adver$encia
JOp$ion6ane%s#o/essage&ia"og:$#is) Y%38!X8O /!=4AJ!33%Y) Y8582L5/O=4AJ!Y) JOp$ion6ane%CA=C!LO685O=;S
s$os son a"gunos ejemp"os) so"o es co"ocarOp$ion6ane%s#o/essage&ia"og:$#is) Y%38!X8O /!=4AJ!33%Y) Y8582L5 /O=4AJ!Y) JOp$ion6ane% J sa"drn
"aspciones para e" manejo de mensajes *a sea de in+ormacin o de so"ici$ud de da$os mu* con
es%
1$ www.hackxcrack.es
!J!RC5C5O4 6RO62!48O4 6ARA 6RAC85CAR F2=C5O=!4 &! AL@2=O4 CO/=8!4
CO/6O=!=8! A !482&5AR JRA&5O9288O=Los Radio9u$$ons son componen$es para se"eccin de opciones un ejemp"o3
&igi$amos "os M nEmeros * escogemos sum
igi$amos "os
M nEmeros * escogemos
mos * as( sucesivamen$e H;
-
7/25/2019 Java Bases SQL
19/43
Accin 6er$inen$e en
umar) res$ar) mu"$ip"icar o dividir
=o$a3 Cada JRadio9u$$on ""eva consigo pues$o e" nom're e.uiva"en$e a su +5niciamos3
&o'"e c"ic a" 9o$n ca"cu"ar3
4$ring n1)nMS
i+ :sumar%is4e"ec$ed:;; 00a.ui es donde vericamos&ou'"e numero1)numeroM)resu"$adoS
n1 j8e
-
7/25/2019 Java Bases SQL
20/43
" uso #a'i$ua" de un Jcom'o'o< o "is$as desp"ega'"es es de se"eccionar un ($em * sere una accin o
muc#as veces $am'iBn #as podido dar$e cuen$a en "os $(picos +ormu"arios de ren cua".uier e'
uando vas a se"eccionar e" pa(s "e das c"ic a "a "is$a desp"ega'"e ,com'o'o
-
7/25/2019 Java Bases SQL
21/43
$e
-
7/25/2019 Java Bases SQL
22/43
JOp$ion6ane%s#o/essage&ia"og:$#is) Y%339ienvenido a "a Ap"icaciYAcceso Correc$oY)
JOp$ion6ane%5=FOR/A85O=/!44A@!;S00vericamos si es$os e.uiva"en a nues$ro "ogin user Adminis$ra$or * pass 1M]
1Nmipro*ec$odeejemp"o%principa" principa" ne mipro*ec$odeeje
rincipa":;Sprincipa"%s#o?:;S
00&e ser cier$o /os$ramos e" +ormu"ario principa"se$Visi'"e:+a"se;S
00* ocu"$amos e" "oginZ e"se V
00 de ser erroneo nues$ros da$os digi$ados mos$ramos un error de accesoJOp$ion6ane%s#o/essage&ia"og:$#is) Y2suario o Con$rasea 5ncorr
VericaY) Y!rror deAccesoY) JOp$ion6ane%!RROR/!44A@!;S
user%se$8e
-
7/25/2019 Java Bases SQL
23/43
Armando e" menu asi%%RCH5VO AC!RCA &!%%
pcion 1 #acerca de #acG < cracG
Opcion M
Opcion ]a"ir
A" picar en opcion1 a'riremos un +ormu"ario puede ser en '"anco * asi con M)] * $am'ien en e"
menu acerca de%%"ic derec#o so're e" primer i$em edi$ $e
-
7/25/2019 Java Bases SQL
24/43
A45@=A=&O F2=C5O=!4 A CA&A 58!/
2'i.uemos Opcion 1 de" menu arc#ivo * demos c"ic derec#o even$sac$ionac$ion6er
n es$e caso a'rire un +ormu"ario .ue se "e ""ame opcion1mipro*ec$odeejemp"o%opcion1 varia'"e ne mipro*ec$odeejemp"o%opcion1:;S
varia'"e%s#o?:;S
si mismo con "os demas i$emse" i$em sa"ir? Asi me gus$a .ue es$es a$en$o &
acemos igua" .ue en "os demas pero e" code seria3*s$em%e
-
7/25/2019 Java Bases SQL
25/43
A.u( se"eccionas /a$$e 9order * "uego c"ic en icon se"eccionas e
-
7/25/2019 Java Bases SQL
26/43
2" www.hackxcrack.es
/on$amos un escenario con J$$e
-
7/25/2019 Java Bases SQL
27/43
26 www.hackxcrack.es
Vemos como es$an cons$i$uidos "os da$os de "a $a'"a * $am'ien vemos .ue "a ""ave
ria es e" campo
den$icacionLAV! 6R5/AR5A3 es "a co"umna .ue represen$ara "os da$os a"macenados en "a $a'"a de'e repe$irse
jemp"o3 5nser$as$e en iden$icacion3 1M]) en nom're3 jose) en ape""idos3 mende)ocupacion3
esemp"eado a" 'uscar "a iden$icacion con numero 1M] sa'ras .ue #aces re+erencia amedes .ue esn desocupado
-
7/25/2019 Java Bases SQL
28/43
u'"ic c"ass cone
-
7/25/2019 Java Bases SQL
29/43
Zca$c# :!
-
7/25/2019 Java Bases SQL
30/43
2% www.hackxcrack.es
Vericamos "a 9ase de da$os%%
+ec$ivamen$e Los da$os son enviados correc$amen$e a "os campos de "a 9&A.u( #emos $erminado nues$ra primera cone
-
7/25/2019 Java Bases SQL
31/43
30 www.hackxcrack.es
Creamos "a $a'"a donde guardaremos $odos "os regis$ros
CREATE TA:LE a'umnos ;d VARCHAR; NOT NULL,nom.res VARCHAR;?=> NOT NULL,pe''$dos VARCHAR;?=> NOT NULL,
edad VARCHAR;8=> NOT NULL,d$re$@n VARCHAR;=> NOT NULL,pr$mar4 Be4;$d>
R!C595/O4%%
Quer* OK) N ros akec$ed :N%M sec;
6!RO aun asi%% vericamos .ue "a $a'"a se #a*a creado%% necio *o? 8A9L!4S
+ables#in#colegio!
+alumnos !
+
OGe* #a* $enemos nues$ra $a'"a creada en "a 'ase de da$os co"egio
O$ro $ip 4QL de paso miremos como es$ compues$a "a $a'"a%%
DESCRI:E a'umos
++++++$ield !
%pe !
&ull
!
'e%
!
(e)ault
!
*xtra
!++++++id !varchar,0-!&. !/! ! !nombres !varchar20-!&. ! ! ! !apellidos!varchar20-!&. ! ! ! !
edad !
varchar10-
!
&. ! ! ! !direccion
!
varchar50-
!
&. ! ! ! !++++++
OGe* #a* $enemos "a descripcin de "a $a'"a .ue #icimos an$eriormen$e)) 'ue)mos e" 4QL
por a#ora%%
A'rimos =ues$ro 5&! de =e$9eans * Creamos e" 6ro*ec$o para Rea"iar "as Cones%%
-
7/25/2019 Java Bases SQL
32/43
a es$a par$e de creacion de pro*ec$os "a e
-
7/25/2019 Java Bases SQL
33/43
is$o en$onces en e" pa.ue$e c"ase si\ guardaremos $odo "os .ue son
es * en e" pa.ue$e
pro*ec$ocone
-
7/25/2019 Java Bases SQL
34/43
u'"ic void conec$ar9ase&e&a$os:;
r* V
na" 4$ring CO=8ROLA&OR Yorg%gj$%mm%m*s."%&riverYSA" igua" .ue en e" ejemp"o an$erior &ec"aramos .ue driver vamoa a u$i"iar
"ass%+or=ame: CO=8ROLA&OR ;S
one
-
7/25/2019 Java Bases SQL
35/43
uego nos vamos a 9i'"io$ecas * aadimos nues$ro driver
C"ic derec#o en e" pa.ue$e 'i'"io$ecas aadir 9i'"io$eca
ncaso de =o $ener e" &river 5ns$a"ado no ser(a nada raro _& pues "o desmos
#$$p300dev%m*s."%com0ge$0&on"oads0Connec$orDJ0m*s."Dconnec$orDjavaD%1%1]%$ar%g
o descargamos o'vio .ue *a no ser(a c"ic derec#o so're 9i'"io$ecas aadir 'ecasA#ora seria c"ic derec#o so're 'i'"io$ecas Aadir arc#ivo JAR0Carpe$a
9uscamos La carpe$a m*s."Dconnec$orDjavaD%1%1] * aadimos e" arc#ivo JAR
A#ora agregamos !" +ormu"ario e" cua" $endr "as +unciones as @uardar)"iminar)9uscar)/odicar * cua".uier o$ra .ue se nos ocurra
-
7/25/2019 Java Bases SQL
36/43
a J8e
-
7/25/2019 Java Bases SQL
37/43
O&5@O &! LA CLA4! @2AR&AR
acGage c"asesS
mpor$ java
-
7/25/2019 Java Bases SQL
38/43
acGage c"asesSmpor$ java
-
7/25/2019 Java Bases SQL
39/43
pu'"ic void 'uscara"umno:4$ring 'uscarid;
$r*'d%conec$ar9ase&e&a$os:;S
'd%resu"$ado H 'd%sen$encia%e
-
7/25/2019 Java Bases SQL
40/43
pro*ec$ocone
-
7/25/2019 Java Bases SQL
41/43
4!@25/O4 CO= LA4 F2=C5O=!4 &! LO4 9O8O=!4
9O8O= @2AR&ARid i%ge$8e
-
7/25/2019 Java Bases SQL
42/43
A.ui $ermina "a cone
-
7/25/2019 Java Bases SQL
43/43
!2 www.hackxcrack.es