Bancos de dados e JDBC Java para Desenvolvimento Web

Disponível somente no TrabalhosFeitos
  • Páginas : 29 (7111 palavras )
  • Download(s) : 1
  • Publicado : 1 de setembro de 2015
Ler documento completo
Amostra do texto


1/5/2014

Bancos de dados e JDBC - Java para Desenvolvimento Web



APOSTILA JAVA PARA DESENVOLVIMENTO WEB



CAPÍTULO 2

Bancos de dados e JDBC
"O medo é o pai da moralidade"
— Friedrich Wilhelm Nietzsche
Ao término desse capítulo, você será capaz de:
conectar-se a um banco de dados qualquer através da API JDBC;
criar uma fábrica de conexões usando o design pattern Factory;
pesquisar dadosatravés de queries;
encapsular suas operações com bancos de dados através de DAO - Data Access
Object.

2.1 - POR QUE USAR UM BANCO DE DADOS?
Muitos sistemas precisam manter as informações com as quais eles trabalham,
seja para permitir consultas futuras, geração de relatórios ou possíveis alterações
nas informações. Para que esses dados sejam mantidos para sempre, esses
sistemas geralmenteguardam essas informações em um banco de dados, que as
mantém de forma organizada e prontas para consultas.
A maioria dos bancos de dados comerciais são os chamados relacionais, que é
uma forma de trabalhar e pensar diferente ao paradigma orientado a objetos.
O MySQL é o banco de dados que usaremos durante o curso. É um dos mais
importantes bancos de dados relacionais, e é gratuito, além de ter umainstalação
fácil para todos os sistemas operacionais. Depois de instalado, para acessá-lo via
terminal, fazemos da seguinte forma:
mysql -u root

http://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/#2-13-exercicios-listagem

1/32

1/5/2014

Bancos de dados e JDBC - Java para Desenvolvimento Web

Banco de dados
Para aqueles que não conhecem um banco de dados, é recomendado ler um
poucosobre o assunto e também ter uma base de SQL para começar a usar a
API JDBC.

O processo de armazenamento de dados é também chamado de persistência. A
biblioteca de persistência em banco de dados relacionais do Java é chamada JDBC, e
também existem diversas ferramentas do tipo ORM (Object Relational Mapping)
que facilitam bastante o uso do JDBC. Neste momento, focaremos nos conceitos e
no uso doJDBC. Veremos um pouco da ferramenta de ORM Hibernate ao final deste
mesmo curso e, no curso FJ-25, com muitos detalhes, recursos e tópicos
avançados.

2.2 - PERSISTINDO ATRAVÉS DE SOCKETS?
Para conectar-se a um banco de dados poderíamos abrir sockets diretamente
com o servidor que o hospeda, por exemplo um Oracle ou MySQL e nos
comunicarmos com ele através de seu protocolo proprietário.
Mas vocêconhece o protocolo proprietário de algum banco de dados? Conhecer
um protocolo complexo em profundidade é difícil, trabalhar com ele é muito
trabalhoso.
Uma segunda ideia seria utilizar uma API específica para cada banco de dados.
Antigamente, no PHP, por exemplo, a única maneira de acessar o Oracle era
através de funções como oracle_connect, oracle_result, e assim por diante. O
MySQL tinha suasfunções análogas, como mysql_connect. Essa abordagem
facilita muito nosso trabalho por não precisarmos entender o protocolo de cada
banco, mas faz com que tenhamos de conhecer uma API um pouco diferente para
cada tipo de banco. Além disso, caso precisemos trocar de banco de dados um dia,
precisaremos trocar todo o nosso código para refletir a função correta de acordo
com o novo banco de dados queestamos utilizando.

Você pode também fazer o curso FJ-21 dessa apostila na Caelum
Querendo aprender ainda mais sobre Java na Web e Hibernate? Esclarecer

http://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/#2-13-exercicios-listagem

2/32

1/5/2014

Bancos de dados e JDBC - Java para Desenvolvimento Web

dúvidas dos exercícios? Ouvir explicações detalhadas com
um instrutor?
A Caelumoferece o curso FJ-21 presencial nas cidades de São
Paulo, Rio de Janeiro e Brasília, além de turmas incompany.
Consulte as vantagens do curso Java para Desenvolvimento Web.

2.3 - A CONEXÃO EM JAVA
Conectar-se a um banco de dados com Java é feito de maneira elegante. Para
evitar que cada banco tenha a sua própria API e conjunto de classes e métodos,
temos um único conjunto de interfaces muito...
tracking img