• Nenhum resultado encontrado

Aula 2.5 - Crud Java Desktop

N/A
N/A
Protected

Academic year: 2021

Share "Aula 2.5 - Crud Java Desktop"

Copied!
35
0
0

Texto

(1)

com Java e MySQL

com Java e MySQL

Prof. Jorge Viana Doria Junior, M.Sc. Prof. Jorge Viana Doria Junior, M.Sc. Mestre em Informática DCC/IM/iNC/!"#J Mestre em Informática DCC/IM/iNC/!"#J

 $$unior%unicarioca.e&u.'r  $$unior%unicarioca.e&u.'r

(2)

Tecnologias envolvidas:

Tecnologias envolvidas:

 Java, JDBC, MySQL e

 Java, JDBC, MySQL e NetBeans

NetBeans

• Nesta au(a voc) vai a*ren&er &e maneira muito sim*(esNesta au(a voc) vai a*ren&er &e maneira muito sim*(es

e o'$etiva a cria+o uma a*(ica+o

e o'$etiva a cria+o uma a*(ica+o CRUD JAVACRUD JAVA  CCreate,reate,

R

Rea&,ea&, UU*&ate e*&ate e DDe(ete no Net0eans *ara aten&ere(ete no Net0eans *ara aten&er tarefas sim*(es e rá*i&as.

tarefas sim*(es e rá*i&as.

• 1*ren&eremos a inserir, atua(i2ar, e3c(uir e (istar &a&os1*ren&eremos a inserir, atua(i2ar, e3c(uir e (istar &a&os

&e um formu(ário em 'anco &e &a&os

&e um formu(ário em 'anco &e &a&os MySQLMySQL  com a  com a

classe Stateent

(3)

Tecnologias envolvidas:

Tecnologias envolvidas:

 Java, JDBC, MySQL e

 Java, JDBC, MySQL e NetBeans

NetBeans

• Nesta au(a voc) vai a*ren&er &e maneira muito sim*(esNesta au(a voc) vai a*ren&er &e maneira muito sim*(es

e o'$etiva a cria+o uma a*(ica+o

e o'$etiva a cria+o uma a*(ica+o CRUD JAVACRUD JAVA  CCreate,reate,

R

Rea&,ea&, UU*&ate e*&ate e DDe(ete no Net0eans *ara aten&ere(ete no Net0eans *ara aten&er tarefas sim*(es e rá*i&as.

tarefas sim*(es e rá*i&as.

• 1*ren&eremos a inserir, atua(i2ar, e3c(uir e (istar &a&os1*ren&eremos a inserir, atua(i2ar, e3c(uir e (istar &a&os

&e um formu(ário em 'anco &e &a&os

&e um formu(ário em 'anco &e &a&os MySQLMySQL  com a  com a

classe Stateent

(4)

• 5 MySQL5 MySQL 6 um sistema gerencia&or &e 'anco &e &a&os S70D, 6 um sistema gerencia&or &e 'anco &e &a&os S70D,

8ue uti(i2a a (inguagem SQL Linguagem &e Consu(ta strutura&a, 8ue uti(i2a a (inguagem SQL Linguagem &e Consu(ta strutura&a, &o ing()s

&o ing()s Structured Query LanguageStructured Query Language como interface. 9 como interface. 9 atua(mente um &os 'ancos &e &a&os mais *o*u(ares, com mais atua(mente um &os 'ancos &e &a&os mais *o*u(ares, com mais &e :; mi(4<es &e

&e :; mi(4<es &e insta(a+<es *e(o mun&o.insta(a+<es *e(o mun&o.

• ntre os usuários &o 'anco &e &a&os MySQL esto=ntre os usuários &o 'anco &e &a&os MySQL esto= NASANASA,,

"#iendste#

"#iendste#,, Banco B#adescoBanco B#adesco,, DATA$R%VDATA$R%V,, &$&$,, No'iaNo'ia,, SonySony,, L!(t)ansa

L!(t)ansa,, $et#o*#as$et#o*#as,, U+S+ A#yU+S+ A#y,, U+S+ "ede#al Rese#veU+S+ "ede#al Rese#ve Ban' 

Ban' ,, Associated $#essAssociated $#ess,, Alcatel Slas)dotAlcatel Slas)dot,, Cisco SystesCisco Systes,, oogle

(5)

AT%N-./

• Siga os *assos &etermina&os. • 0rin8ue e a*ren&erá.

• >ente fa2er o 8ue 6 so(icita&o. • Muita aten+o aos comentários.

• 9 im*ortante e fa+a *ara ver o 8ue acontece. • Irá &esco'rir a(gumas coisas *or si s?.

• Consi&ere isto um DS1"I5.

• Perce'a e $á estará a*ren&en&o muito.

(6)

$asso 0: 1nstala23o do Banco de

Dados MySQL

• 1ntes &e mais na&a, 6 necessário fa2er a insta(a+o &o

MySQL em sua má8uina.

• Portanto, (eia o PD" MySQL 4 Man!al de

(7)

• Para insta(ar o NetBeans, fa+a o &onB(oa& no site

a'ai3o e e3ecute o insta(a&or. Lem'rese, voc) &everá ter insta(a&o o Java 6=

• 4tt*s=//net'eans.org/&oBn(oa&s/in&e3.4tm(

$asso 7: 1nstala23o da 1D%

NetBeans

(8)

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

• 3ecute o Net0eans.

• #egistre o servi&or

MySQL. Isto s? *o&erá ocorrer 8uan&o o MySQL estiver insta(a&o. 0asta c(icar com o 'oto &ireto &o mouse em 0anco &e &a&os conforme a imagem=

(9)

• Congure as *ro*rie&a&es &o

servi&or MySQL, aceitan&o a(gumas como *a&ro

ofereci&os na

guia $#o5#iedades B9sicas+

• Co(o8ue a sen4a &o #oot

&eni&a na insta(a+o &o MySQL. No (a'orat?rio &a Unica#ioca &eve ser

o*ciona(, vamos testarE

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

(10)

• Conecte ao servi&or

MySQL com o 'oto &ireito &o mouse e, (ogo a*?s, no mesmo menu, crie um 'anco &e &a&os c4ama&o %scola.

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

(11)

• Para criar o 'anco &e &a&os, voc) &everá &enir o

noe e concede# acesso. Voc) *o&e fa2)(o conforme

*ro*osto na imagem 8ue segue=

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

(12)

• Conecte com o 'anco &e &a&os c(ican&o com o 'oto

&ireito &o mouse so're %scola. Isto *ermitirá a cria+o &a cone3o *ara e(e e *osterior uso em a*(ica+<es no Net0eans.

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

(13)

• 1 cria+o &a cone3o *ara o 0D 0anco &e

Da&os %scola *o&e ser vista a'ai3o circun&a&a em a2u(. Conecte a e(e *ara 8ue se *ossa criar ta'e(as.

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

(14)

• 1 *artir &aA, 6 *ossAve( criar ta'e(as *ara o 'anco &e

&a&os, e no caso, criaremos a ta'e(a Al!no *ara efeito &e a*ren&i2a&o.

• Com o 'oto &ireito &o mouse so're

• %scola ; Ta*elas, acesse %<ec!ta# CoandoF *ara 8ue

a*are+a um e&itor Coman&o SQL em 'ranco.

• Digite no e&itor Voc= 5ode !sa# Ct#lC Ct#lV,

o scri*t &e cria+o &a ta'e(a 1(uno, mostra&o a'ai3o, e ro&eo=

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

create ta'(e a(uno 

i& 0I7IN> not nu(( *rimary Gey, Nome V1#CH1#; not nu((,

CP" V1#CH1#: not nu(( uni8ue 

(15)

• #esu(ta&o na(

$asso 8: C#ia23o de ! Banco de Dados e Ta*ela Al!no

(16)

$asso >: C#ia23o da A5lica23o JAVA no NetBeans • C(i8ue no menu A#?!ivo "i(e  Novo $#o@eto NeB Pro$ectF se(eci on Java  A5lica23o  Java Java 1**(ication e c(i8ue em Pr?3imo Ne

(17)

• m Nome &o Pro$eto Pro$ect Name co(o8ue o nome, ou

outro 8ue

&ese$e, JavaA55licationMySQLCoStateent e c(i8ue em "inalia# "inis4. #esu(ta&o a'ai3o=

(18)
(19)

• Crie o *acote a5#esentacao como a*onta&o na

imagem a'ai3o=

(20)

• Crie um J"#ae c4ama&o J"#aeAl!no seguin&o a

imagem a'ai3o=

(21)
(22)

• Crie os com*onentes, no J"#ae, como a*resenta&o na

imagem a seguir. ste$a atento aos &eta(4es &e 8uais so estes com*onentes na Pa(eta $allete.

(23)

• 7ere os eventos &e ca&a 'oto com d!5lo cli?!e

&o're e(es ou c(ican&o com o 'oto &ireito &o mouse e acessan&o %ventos %vents ; A23o Action ; action$e#(o#ed. Ve$a os eventos na guia &e cEdigo

(onte So!#cea'ai3o=

(24)

• 1&icione o D#ive# JDBC MySQL MySQL JDBC

D#ive# em 0i'(iotecas Li*#a#ies. 1'ai3o=

(25)

Digite os c?&igos &os *r?3imos s(i&e *ara o

evento &e ca&a 'oto no J(#ae=

1>NK5= #enomeie os com*onentes 0oto

&ireto

&o

mouse

so're

o

com*onente

no J"#ae e Alte#a# Noe da Va#i9vel

C)ange Va#ia*le Nae &o *aine( Inserir

1(uno conforme in&ica&o no c?&igo a'ai3o=

3em*(o=

(26)

• %vento do Bot3o 1nse#i#

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

try 

FFRegist#a JDBC d#ive#

  C(ass.forNamecom.mys8(.$&'c.DriverO

FFA*#indo a cone<3o: AT%N-./ /S D/1S $ARGM%TR/S VAH1/SI I S./ USUR1/ % S%N&A, R%S$%CT1VAM%NT%+

Connection conn  DriverManager.getConnection$&'c=mys8(=//(oca(4ost=;R/esco(a,  ,  O FF%<ec!ta a ?!e#y de inse#23o

$ava.s8(.Statement st  conn.createStatementO

st.e3ecute!*&ateINS#> IN>5 a(uno i&, nome, c*f V1L!S   t4is.$>e3t"ie(&I&.get>e3t  ,T

 t4is.$>e3t"ie(&Nome.get>e3t  T,T  t4is.$>e3t"ie(&CP".get>e3t  TO

 J5*tionPane.s4oBMessageDia(ogrootPane, 1(uno inseri&oO U catc4 SQL3ce*tion  C(assNot"oun&3ce*tion e 

Deveos i5o#ta# as seg!intes classes:

im*ort $ava.s8(.ConnectionO im*ort $ava.s8(.DriverManagerO im*ort $ava.s8(.SQL3ce*tionO

(27)

• %vento do Bot3o At!alia#= ste$a aten&o W

necessi&a&e &e mu&an+a &as variáveis como no caso acima.

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

try 

FFRegist#a JDBC d#ive#

  C(ass.forNamecom.mys8(.$&'c.DriverO

FFA*#indo a cone<3o: AT%N-./ /S D/1S $ARGM%TR/S VAH1/SI I S./ USUR1/ % S%N&A, R%S$%CT1VAM%NT%+

Connection conn  DriverManager.getConnection$&'c=mys8(=//(oca(4ost=;R/esco(a,  ,  O FF%<ec!ta a ?!e#y de at!alia23o

$ava.s8(.Statement st  conn.createStatementO st.e3ecute!*&ate!PD1> a(uno S> nomeT

 t4is.$>e3t"ie(&NovoNome.get>e3t  T,c*fT  t4is.$>e3t"ie(&NovoCP".get>e3t

 T XH# i&T  t4is.$>e3t"ie(&I&3istente.get>e3t  TO  J5*tionPane.s4oBMessageDia(ogrootPane, 1(uno atua(i2a&oO

As classes a*ai<o @9 (o#a i5o#tadasK

im*ort $ava.s8(.ConnectionO im*ort $ava.s8(.DriverManagerO im*ort $ava.s8(.SQL3ce*tionO

(28)

• %vento do Bot3o %<cl!i#: ste$a aten&o W

necessi&a&e &e mu&an+a &as variáveis como no caso acima.

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

try 

FFRegist#a JDBC d#ive#

  C(ass.forNamecom.mys8(.$&'c.DriverO

FFA*#indo a cone<3o: AT%N-./ /S D/1S $ARGM%TR/S VAH1/SI I S./ USUR1/ % S%N&A, R%S$%CT1VAM%NT%+

Connection conn  DriverManager.getConnection$&'c=mys8(=//(oca(4ost=;R/esco(a,  ,  O FF%<ec!ta a ?!e#y de e<cl!s3o

$ava.s8(.Statement st  conn.createStatementO

st.e3ecute!*&ateDL> "#5M 1(uno XH# i&T  t4is.$>e3t"ie(&I&3c(usao.get>e3t  TO  J5*tionPane.s4oBMessageDia(ogrootPane, 1(uno e3c(uA&oO

U catc4 SQL3ce*tion  C(assNot"oun&3ce*tion e  J5*tionPane.s4oBMessageDia(ogrootPane, eO UFF"i t#y

As classes a*ai<o @9 (o#a i5o#tadasK

im*ort $ava.s8(.ConnectionO im*ort $ava.s8(.DriverManagerO im*ort $ava.s8(.SQL3ce*tionO

(29)

• Na main &a c(asse

*rinci*a( JavaA55licationMySQLCoStateent &igite o c?&igo &e a'ertura &a $ane(a a'ai3o e a&icione a

im*orta+o ao *acote a5#esenta23o e ro&e o *rograma *ara ver o resu(ta&o.

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

JFrameAluno jFrameAluno = new JFrameAluno(); //Cria o objeto Janela

jFrameAluno.setTitle("Cadastro de Alunos" ); //Define o título na Janela

jFrameAluno.setLoation!elatieTo(null); //Coloa a janela no entro da tel

(30)

• Crie, agora, um novo 'oto c4ama&o Lista# no "rame e

&igite o c?&igo a'ai3o em seu evento.

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

Deveos i5o#ta# a seg!inte classe:

im*ort $ava.s8(.#esu(tSetO

try 

FFRegist#a JDBC d#ive#

  C(ass.forNamecom.mys8(.$&'c.DriverO

FFA*#indo a cone<3o: AT%N-./ /S D/1S $ARGM%TR/S VAH1/SI I S./ USUR1/ % S%N&A, R%S$%CT1VAM%NT%+

Connection conn  DriverManager.getConnection$&'c=mys8(=//(oca(4ost=;R/esco(a,  ,  O FF%<ec!ta a ?!e#y de sele23o

$ava.s8(.Statement st  conn.createStatementO st.e3ecuteQueryse(ect Y from a(unoO

#esu(tSet rs  st.get#esu(tSetO FFLista os al!nos no console B4i(e rs.ne3t 

System.out.*rintrs.getStringI&  , O System.out.*rintrs.getStringNome  , O   System.out.*rint(nrs.getStringCP"O

U

(31)

• Ve$a o resu(ta&o &o *rograma com o novo

'oto Listagem mostran&o o resu(ta&o no conso(e.

(32)

• 1&icione, agora,

um com*onente

 JTa*le no "rame e &igite o c?&igo a seguir no 'oto

Lista# Todos.

(33)

• Digite o c?&igo a'ai3o no 'oto Lista# Todos.

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

try 

FFRegist#a JDBC d#ive#

  C(ass.forNamecom.mys8(.$&'c.DriverO

FFA*#indo a cone<3o: AT%N-./ /S D/1S $ARGM%TR/S VAH1/SI I S./ USUR1/ % S%N&A, R%S$%CT1VAM%NT% .

Connection conn  DriverManager.getConnection$&'c=mys8(=//(oca(4ost=;R/esco(a,  ,  O FF%<ec!ta a ?!e#y de sele23o

$ava.s8(.Statement st  conn.createStatementO st.e3ecuteQueryse(ect Y from a(unoO

#esu(tSet rs  st.get#esu(tSetO

FFDeni# taan)o a!to9tico das col!nas no odelo   $>a'(e:.set1uto#esi2eMo&e$>a'(e.1!>5Z#SI[Z1LLZC5L!MNSO

FFC#iando ! odelo de aco#do co a deni23o da IJTa*le0I Defau(t>a'(eMo&e( mo&e(o  Defau(t>a'(eMo&e( $>a'(e:.getMo&e(O

FFHe#a# as lin)as e<istentes do odelo   mo&e(o.setNum#oBs;O

FFLista os al!nos no JTa*le B4i(e rs.ne3t  mo&e(o.a&&#oBneB 5'$ect\]   rs.getStringI&,   rs.getStringNome,   rs.getStringCP" UO U

(34)

• 1&icione, agora, o c?&igo a'ai3o no 'oto Cons!lta#.

$asso >: C#ia23o da A5lica23o JAVA no NetBeans

try 

FFRegist#a JDBC d#ive#

  C(ass.forNamecom.mys8(.$&'c.DriverO

FFA*#indo a cone<3o: AT%N-./ /S D/1S $ARGM%TR/S VAH1/SI I S./ USUR1/ % S%N&A, R%S$%CT1VAM%NT%+

Connection conn  DriverManager.getConnection$&'c=mys8(=//(oca(4ost=;R/esco(a,  ,  O FF%<ec!ta a ?!e#y de sele23o !tiliando 5a#et#o enviado 5elo !s!9#io

String 8uery  se(ect Y from a(uno B4ere nome (iGe EO Pre*are&Statement cm&O

cm&  conn.*re*areStatement8ueryO

cm&.setString:, ^  $>e3t"ie(&Consu(taNome.get>e3t  ^O #esu(tSet rs  cm&.e3ecuteQueryO

FFDeni# taan)o a!to9tico das col!nas no odelo   $>a'(e:.set1uto#esi2eMo&e$>a'(e.1!>5Z#SI[Z1LLZC5L!MNSO

FFC#iando ! odelo de aco#do co a deni23o da I JTa*le0I Defau(t>a'(eMo&e( mo&e(o  Defau(t>a'(eMo&e( $>a'(e:.getMo&e(O FFHe#a# as lin)as e<istentes do odelo

  mo&e(o.setNum#oBs;O FFLista os al!nos no JTa*le B4i(e rs.ne3t  mo&e(o.a&&#oBneB 5'$ect\]   rs.getStringI&,   rs.getStringNome,   rs.getStringCP" UO U

(35)

• 1&icione, agora, o c?&igo a'ai3o no evento Mo!seClic'ed &o com*onente JTa*le.

FF/*te# o ne#o da lin)a seleciona

int (in4ase(eciona&a  $>a'(e:.getSe(ecte&#oBO

FF%<i*i# os valo#es das col!nas da ta*ela nas cai<as de te<to

$>e3t"ie(&I&3istente.set>e3t$>a'(e:.getVa(ue1t(in4ase(eciona&a, ;.toStringO $>e3t"ie(&NovoNome.set>e3t$>a'(e:.getVa(ue1t(in4ase(eciona&a, :.toStringO $>e3t"ie(&NovoCP".set>e3t$>a'(e:.getVa(ue1t(in4ase(eciona&a, _.toStringO

Referências

Documentos relacionados

110 nos últimos 4 anos; 6 - Terá prioridade para afastamento o professor com maior número de alunos orientados na graduação e pós-graduação (somados) nos

Ter excelente desempenho na recuperação con nua do bimestre, ou seja: excelente par cipação nas aulas prá cas; pontualidade no horário e na entrega de trabalhos/tarefas;

-Elaborar um protocolo clínico com os critérios para a dispensação das fórmulas infantis, suplementos alimentares e dietas enterais padronizadas pela Secretaria de Saúde

Entre diversas estratégias apontadas nos Parâmetros Curriculares Nacionais (PCN) para o ensino, os jogos didáticos são colocados como uma nova ferramenta,

[Consumidores] Sistémico álcool benzílico DNEL Longa duração Via oral 4 mg/kg bw/dia População geral Sistémico.. DNEL Longa

Identificar e reproduzir estruturas de discurso direto e indireto; Identificar e distinguir verbos preposicionados (phrasal verbs); Utilizar vocabulário e estruturas

eu tenho MUIto essa preocupação de saber se eles compreenderam saber se realmente o conteúdo foi bem passado saber se realmente ficou alguma dúvida porque se tem

Queríamos ir além de uma imagem de crianças brincando na beira do rio ou de um pescador. Buscou-se mostrar a economia de uma região e ao mesmo tempo guardar memórias de