B ANCO DE D ADOS E JDBC Profa. Msc. Cintia Carvalho Oliveira Mestre em Ciência da Computação –...

Post on 17-Apr-2015

113 views 0 download

Transcript of B ANCO DE D ADOS E JDBC Profa. Msc. Cintia Carvalho Oliveira Mestre em Ciência da Computação –...

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.