Escolar Documentos
Profissional Documentos
Cultura Documentos
BacharelemEngenhariadeComputao flaviocurte.java@gmail.com
FLVIOHENRIQUECURTE
JavaDatabaseConnectivity(JDBC)
JavaDatabaseConnectivity(JDBC)
(Driver)Protocolodebancodedados
CLIENTE
JDBC
Horstmann,CayS.,Cornell,Gary.Corejava2VolumeIIRecursosavanados, pg.181.SoPaulo:MakronBooks,2001.
JavaDatabaseConnectivity(JDBC)
TiposdedriversJDBC:
Tipo1:JDBCODBCbridge.Adaptaododriver ODBCparaJDBC,utilizandoosrecursosdoODBC parasecomunicarcomobancodedados; Tipo2:JDBCNativeBridge.Convertechamadas JDBCdaaplicaoJavaparachamadasdeum drivernativojinstaladonamquina.A comunicaododrivernativorealizadaatravsde umprotocoloproprietrio;
TiposdedriversJDBC(continuao):
JavaDatabaseConnectivity(JDBC)
Exemplo:
JavaDatabaseConnectivity(JDBC)
publicstaticvoidmain(String[]args)throws Exception{ Stringsql="SELECT*FROMjpa"; con=open(); try{ Statementcomando= con.createStatement(); ResultSetresultado= comando.executeQuery(sql); while(resultado.next()){ System.out.println(resultado.getString("nome")); System.out.println(resultado.getString("email")); } }catch(SQLExceptionex){ ex.printStackTrace(); }finally{ con.close(); } } }
importjava.sql.*; publicclassJDBC{ privatestaticConnectioncon=null; publicJDBC(){ } publicstaticConnectionopen(){ Stringuser="postgres"; Stringpass="postgres"; Stringurl= "jdbc:postgresql://192.168.1.11/javanoroeste"; try{ Class.forName("org.postgresql.Driver"); con= DriverManager.getConnection(url,user,pass); } catch(Exceptione){ e.printStackTrace(); } returncon; }
R E A T E
publicstaticConnectionopen(){ Stringuser="postgres"; Stringpass="postgres"; Stringurl="jdbc:postgresql://192.168.1.11/javanoroeste"; try{ Class.forName("org.postgresql.Driver"); con=DriverManager.getConnection(url,user,pass); } catch(Exceptione){ e.printStackTrace(); } returncon; }
P D A T E
publicstaticConnectionopen(){ Stringuser="postgres"; Stringpass="postgres"; Stringurl="jdbc:postgresql://192.168.1.11/javanoroeste"; try{ Class.forName("org.postgresql.Driver"); con=DriverManager.getConnection(url,user,pass); } catch(Exceptione){ e.printStackTrace(); } returncon; }
E A D
publicstaticConnectionopen(){ Stringuser="postgres"; Stringpass="postgres"; Stringurl="jdbc:postgresql://192.168.1.11/javanoroeste"; try{ Class.forName("org.postgresql.Driver"); con=DriverManager.getConnection(url,user,pass); } catch(Exceptione){ e.printStackTrace(); } returncon; }
D
publicstaticConnectionopen(){ Stringuser="postgres"; Stringpass="postgres"; Stringurl="jdbc:postgresql://192.168.1.11/javanoroeste"; try{ Class.forName("org.postgresql.Driver"); con=DriverManager.getConnection(url,user,pass); } catch(Exceptione){ e.printStackTrace(); } returncon; }
E L E T E
Qualasoluoparaarmazenarobjetosna tecnologiarelacional?
MapeamentoObjeto/Relacional
MapeamentoObjeto/Relacional
SGBDR
Tabelas InterfaceBDR
Figura:Doederlein,OsvaldoPinali.RevistaJavaMagazine,ed.42,p.22.
MapeamentoObjeto/Relacional
FrameworkHibernate: ProgramaoOO(herana,polimorfismoetc); Semaumentodetemponaconstruoda aplicao Gratuitoeaberto Portvelparatodososbancoscompatveis comopadroSQL
MapeamentoObjeto/Relacional
APLICAO objetospersistentes HIBERNATE hibernate. properties mapeamento XML
BANCODEDADOS
Figura:Boaglio,Fernando.RevistaSQLMagazine,ed.17,p.40.
MapeamentoObjeto/Relacional
JavaPersistenceAPI1.0
DefinidanaJSR220(EnterpriseJavaBeans, Version3.0) Formasimplesdemapearobjetosnobancode dados PadronizaomapeamentoO/R
JavaPersistenceAPI1.0
JavaPersistenceAPI1.0
EntityManager:responsvelporpraticamente todasoperaesdepersistnciadeobjetos PersistenceContext:readememriaque mantmosobjetosqueestosendo manipuladospeloEntityManager Provedores:especificaoparaframeworksde persistncia
JavaPersistenceAPI1.0
AplicaoJAVA JavaPersistenceAPI ProvedorJPA (Hibernate,TopLink,Kodo,OpenJPAetc) APIJDBC DRIVERJDBC (MySQL,PostgreSQL,JavaDB,Oracleetc)
SGBDR
AdaptadodeBellia,Renato.RevistaJavaMagazine,ed.44,p.28.
JavaPersistenceAPI1.0
JavaPersistenceAPI1.0
Mapeamento: Classeseinterfacesestonopacote: javax.persistence Usoanotaes(@) Configuraoporexceo
JavaPersistenceAPI1.0
Anotao:
@EntitydesignaumPOJO
JavaPersistenceAPI1.0
Anotao:
@TablePorpadro,aJPAassumequetodososcampos persistentesdeumaentidadeseroarmazenadosemum BDcomomesmonomedaentidade.
JavaPersistenceAPI1.0
Anotao:
@Columnporpadro,aJPAassumequeonomedecada atributocorrespondeaomesmonomenatabela
JavaPersistenceAPI1.0
Anotao:
@Ididentificadordachaveprimria
JavaPersistenceAPI1.0
Anotao:
@NamedQuerycriaconsultaprdefinida(esttica) associadocomo@Entity
JavaPersistenceAPI1.0
Outrasanotaesmaiscomuns: @GeneratedValuegeraoautomticadeidentificadores @Temporalparainformaesrelacionadasaotempo (DATE,TIMEeTIMESTAMP) @OneToManypararelacionamentosumparamuitosem BDrelacional @ManyToOnepararelacionamentomuitosparaumem BDrelacional
Demonstrao
JPA:PersistnciapadronizadaemJava
BacharelemEngenhariadeComputao flaviocurte.java@gmail.com
FLVIOHENRIQUECURTE