Você está na página 1de 3

22/7/2014 Acessando Banco de Dados em Java (PARTE 2) - Java Free.

org
http://javafree.uol.com.br/artigo/1357/Acessando-Banco-de-Dados-em-Java-PARTE-2.html 1/3
Assine08007033000 SAC Batepapo Email Notcias Esporte Entretenimento Mulher Shopping BUSCAR
Login Registrese
1,3mil Curtir 137 Seguir@javafree
Home>Artigos>BancodeDados>
AcessandoBancodeDadosemJava(PARTE2)
Publicadopordaltoncamargoem23/03/2010208.610visualizaes
comentrios:1
AschamadasdeJDBC
No artigo passado, mostramos o primeiro exemplo de acesso a um banco de dados com JDBC. Neste artigo comearemos a explicar alguns motivos
implementados no padro utilizando o exemplo do artigo passado. O que nos chama a ateno logo de cara que o cdigo JDBC no se assemelha ao que o
programadorinicianteemJavaestacostumado.Porexemplo,fazemos:
Connectioncon=DriverManager.getConnection(parametrosdaconexo)
aoinvsde
Connectioncon=newConnection()
JDBC um padro onde est definida uma estrutura geral de acesso ao driver de banco de dados atravs de interfaces e o fornecedor se encarrega de
implementar as classes que concretamente vo realizar o servio. Ora, cada fornecedor tem o seu driver especfico, construdo como uma classe JDBC. A
chamadafunoforName(classe)registraaclassenomeadanaJVMcorrente:
Quote:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").getInstance()oSunJDBCODBCbridge
Quote:
Class.forName("COM.ibm.db2.jdbc.net.DB2Driver").newInstance()paraoIBMDB2
podemosaindautilizaromtodoregisterDriverdaclasseDriverManagerparaisso:
Quote:
DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver())paraoOracle8i
OcomportamentododriverJDBCumaincgnita.Dependesobretudodaarquiteturadeacessooferecidapelobancodedados.Porexemplo,algunsbancosde
dados vo exigir uma conexo com um cliente local. Outros utilizam arquivos de configurao. Para tratar com as diferenas entre os diversos produtos,
DriverManagerutilizaopadroFactoryMethodparainstanciarConnection.
EstepadroutilizadoportodasasinterfacesdeJDBC.
Porexemplo:
Connectioncon=DriverManager.getConnection("jdbc:odbc:meusCdsDb","conta","senha")

Statementstm=con.createStatement()

ResultSetrs=stm.executeQuery(algumaquerySQL)
Oproblemasimplesmenteeste:nosabemos,emtempodecompilao,qualaestruturadeclasseteraclassedodriverqueDriverManagerircarregar.Isto
feitodinamicamente,nomomentoemqueodriverregistradocomDriverManager.UsandoopadroFactoryMethodanecessidadedeverificaraestruturado
driver estaticamente transformada numa chamada padro de funo que pode ser realizada em tempo de execuo. As classes que implementam
concretamenteessasinterfacesnoDB2,porexemplo,soDB2Connection,DB2StatementeDB2ResultSeteestopresentesnopacotedb2java.zip.
Paraosprogramadoresmigradosdeoutrospadres,estepadroequivalente,nomundodosobjetos,sfunescallback,tocomunsnosSDKsdoWindows.
Adiferenaqueumcallbackregistraumafunoaserchamada.OFactoryMethodcriaumobjeto.
HOME NOTCIAS ARTIGOS FRUM BUSCA ENVIARNOTCIA CONTRIBUIR
Suporte PostgreSQL
dextra.com.br
Suporte tcnico 8x5 e 24x7 para banco de dados PostgreSQL.

0 4 Curtir 0
22/7/2014 Acessando Banco de Dados em Java (PARTE 2) - Java Free.org
http://javafree.uol.com.br/artigo/1357/Acessando-Banco-de-Dados-em-Java-PARTE-2.html 2/3
comentrios:1
SevocdesejasabermaissobreopadroFactoryMethod,recomendo"DesignPatterns:Principles
ofReusableObjectOrientedSoftware"deErichGammaeoutros.
JavaMorrendo??
Uma pergunta lanada numa lista de discusso nos ultimos dias me deixou realmente intrigado. Algum afirmou que a Microsoft estava parando o
desenvolvimentoemJava(provavelmentedevidorecentedecisojudicialnocasoSunXMicrosoft)eperguntouseporcausadissoJavanoestariamorrendo.
A resposta (que continua sendo postada) foi um sonoro NO. Os argumentos variaram desde os motivos religiosos, tipo "M$ Jamais", at decises bem
pensadas tipo "...adivinhe quantas companhias esto desenvolvendo uma JVM para a plataforma Wintel neste momento ?". Eu tenho minha humilde opinio a
respeito.
AaceitaoecompromissodomercadoemrelaoaJavadeveseadiversosfatores:
1. Claramente h uma profunda mudana de viso sobre como construir sistemas em andamento no mercado. O modelo clienteservidor apoiado na plataforma
Wintel dispendioso, difcil de manter e no se ajusta s necessidades do mundo Internet. Ir desaparecer ? No, certamente que no, mas ir sendo
posicionadonumnichoaoinvsdeserutilizadocomoumasoluouniversal.OmodeloInternetveioparaficaremandar.
2.Javapermiteeconomiaemescalaquandoseumodelodeportabilidadebemutilizado.Mesmoemambientescompadrespblicoseconhecidos,comoC++,
portarcdigoumdesafio.Emoutrosambientesaindamaispopularesemaisconhecidos,portarcdigovariaentreoimpossveleopesadelo.Empresascomo
aPointBase,debancosdedadospervasivos,esto,naspalavrasdeseuCEO:"...empregandomaisengenheirosdeportabilidadedecdigoqueaOracle,sem
gastarumtostonafolhadepagamentoscomisso.Ondeestoeles?NaSun,NaIBM,NaHP..."(JDJdez/2002).
3. Players pesados esto jogando neste mercado. Nomes como IBM, Oracle, HP, Inprise, (que, ao que parece, agora vai com tudo para o mercado Linux), o
Apache.org e a prpria Sun, para citar alguns, deixam o desenvolvedor e o empresrio bastante tranqilos quanto a seu futuro. Linux ainda incipiente em
relaoaJava,masaofertadeJVMsdaIBMpareceestarsurtindoefeitotambmnestaplataforma.
4. XML vem com um modelo de representao de informao que, pela primeira vez, oferece um meio a baixo custo de expressar estruturas de dados
complexas com a certeza de que sero lidas onde quer que sejam necessrias. A portabilidade dos dados demanda portabilidade do cdigo para sua
interpretao,pois,comoditonoitemdois,manterportabilidadecustacaro.Javatemumapropostabastanteinteressantenestecampo.
Portanto, Java j ultrapassou a fronteira de sustentao que separa produtos de plataformas. O mximo que pode acontecer agora, IMHO, a linguagem se
estabelecernumnichoeaficarparasempre.LembramdovelhoebomFORTRAN?Passamuitobem,obrigado.
Leiatambm:
AcessandoBancodeDadosemJava(PARTE1)
AcessandoBancodeDadosemJava(PARTE3)
AplicativoJavaacessandobancodedados:
AplicativoJavacomacessoabancodedados:1parteDao
AcessandoDadoscomJava:Parte2Prevendoproblemas
QueraprendermaissobreJava?
OqueJava?
CaractersticasBsicas
OrientaoaObjetos
TutoriaisparaCertificaoJava
FundamentosdaLinguagem
Modificadores
Operadoreseatribuies
ControledeFluxo
OrientaoaObjetos
JavaLangeWrappers
ObjetoseConjuntos
ClassesInternas
Threads(Segmentos)
TpicosRelacionados
[Hibernate+C3P0]Error500Timeout...
Listadeservidores
Ireport
BasededadosDerbyporttilnonetbeans,comofazer?
JAVAGUIcomMYSQLcadastro
Demora4segundosparaaparecerateladaOrdemdeServio
ErroaousaroJasperReport
[Ajuda]ConversodeData
ProblemacomcampoDateemWebLogic12c
DuvidaIniciodeFormaao
DuvidaaousarJtree
Salvarvaloresparacriarobjetosposteriores
RefernciasparaEstudo
CriaodeComponentes
22/7/2014 Acessando Banco de Dados em Java (PARTE 2) - Java Free.org
http://javafree.uol.com.br/artigo/1357/Acessando-Banco-de-Dados-em-Java-PARTE-2.html 3/3
RSSNotcias
RSSFrum

ProblemascomacentosnoJava+Derby
Usarbancoemjavajestandoconectado
javaseclasseconexocombancodedadosmysql?
javaseclasseconexocombancodedadosmysql?
Home Sobre Anuncie
OJavaFree.orgumacomunidadejavaformadapelacoolaboraodosdesenvolvedoresdatecnologiajava.
Apublicaodeartigosalmdeajudaracomunidadejava,ajudaadarmaiorvisibilidadeparaoautor.
Contribuaconosco.

Você também pode gostar