Post on 17-Apr-2015
1
BANCO DE DADOS E JDBCProfa. Msc. Cintia Carvalho OliveiraMestre em Ciência da Computação – UFU
Bacharel em Ciência da Computação - UFJF
A CONEXÃO EM JAVA
Para evitar que cada banco tenha a sua própria API e conjunto de classes e métodos, temos um conjunto de interfaces muito bem definidas que fica dentro de java.sql chamada JDBC.
2
3
A CONEXÃO JAVA
Temos a interface Connection que define métodos para executar uma query (como um insert e select), comitar transações, fechar a conexão entre outros.
Para trabalhar com o MySQL, por exemplo, precisamos de classes concretas que implementem essas interfaces do pacote java.sql. Essas classes são a ponte entre o código que usa a API JDBC e o banco de dados.
Esse conjunto de classes recebe o nome de driver.
4
A CONEXÃO JAVA
Para abrir uma conexão sempre precisamos de um driver. A classe DriverManager é responsável por se comunicar com todos os drivers que você disponibilizou, utilizando o método estático getConnection.
A String de conexão é da seguinte forma:jdbc:mysql://ip/nome_do_banco
5
Executando ocorre uma exception. A conexão não pode ser aberta.
Precisamos adicionar uma implementação de driver JDBC.
Adicionar um driver do MySQL ao classpath, o arquivo jar contendo a implementação JDBC do MySQL (mysql connector).
6
FÁBRICA DE CONEXÕES
Para controlar um processo muito repetitivo e trabalho, fazemos uma fábrica de conexões, que é um Desing Pattern chamado de Factory.
Os programadores para adquirir uma conexão deverão executar:
Connection com = new ConnectionFactory().getConnection();
7
PROJETO
Crie um novo projeto chamado Agenda. Copie o driver do MySQL para a biblioteca do
seu projeto.
Crie a tabela abaixo: contato
id int(10) primary e auto-incremento nome varchar(50) email varchar(30) endereco varchar(100) dataNascimento varchar(10)
8
JAVABEANS
Javabeans são classes que possuem construtor sem argumentos e métodos de acesso get e set.
EJBs costumam ser javabeans com características mais avançadas.
9
JAVABEAN Classe javabean equivalente ao modelo de
entidade do banco de dados.
10
DAO – DATA ACCESS OBJECT
A ideia é remover o código de acesso ao banco de dados das classes lógicas e colocá-lo em uma classe responsável pelo acesso aos dados.
Assim o código fica em um lugar só, tornando mais fácil a manutenção.
Geralmente possui as operações CRUD Create Read Update Delete
11
CONTATODAO
12
MÉTODO DE CADASTRAR
13
TESTAR CADASTRO
14
LISTAR DADOS DE CONTATO
15
TESTAR A LISTA
16
EXERCÍCIO
Faça um método para localizar registros de acordo a coluna de pesquisa.
Exemplo:
Se o usuário quiser pesquisar pelo id do contato na agenda, você deverá colocar na cláusula SQL:
where id = 10
17
ALTERAR CONTATO
18
EXCLUIR CONTATO
19
EXERCÍCIOS
Crie uma tabela e javabean Funcionário com os campos id, nome, usuario e senha.
Crie uma classe DAO para Funcionario. Crie uma classe de teste de funcionário, use-
a para instanciar novos funcionários e colocá-los no banco de dados.