Configuração do Ambiente de programação. Manipulação de BD em Java, CRUD em Java...

Post on 22-Apr-2015

120 views 0 download

Transcript of Configuração do Ambiente de programação. Manipulação de BD em Java, CRUD em Java...

Configuração do Ambiente de programação. Manipulação de BD em Java, CRUD em JavaDesenvolvimento de Aplicações Web

PROFA. MSC. CINTIA CARVALHO OLIVEIRA

DOUTORANDA EM CIÊNCIA DA COMPUTAÇÃO – UFU

MESTRE EM CIÊNCIA DA COMPUTAÇÃO – UFU

BACHAREL EM CIÊNCIA DA COMPUTAÇÃO - UFJF

Acesso ao Banco de Dados Diferentes bancos de dados possuem diferentes formas de se comunicar com uma aplicação.

Isso causa um problema na codificações e manutenção, pois caso precise trabalhar um novo banco de dados o código deverá ser refeito.

A aplicação fica inflexível.

Aplicação

Oracle SQL Server MySQL

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 – Java DataBase Connectivity.

3

JDBC A API JDBC uniformiza o acesso ao banco de dados, dando maior flexibilidade aos sistemas.

JDBC

Oracle SQL Server MySQL

Aplicação

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. 5

A conexão JavaPara 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

6

Arquitetura da JDBCAplicação Java

API JDBC

JDBC DRIVER MANAGER

DRIVERJDBC

DRIVERJDBC

MySQL Oracle

Arquitetura da JDBC As principais classes e interfaces do pacote java.sql são:

◦ DriverManager – gerencia os drivers e cria uma conexão com o banco◦ Connection – é a classe que representa a conexão com o banco de dados.◦ Statement – controla e executa uma instrução SQL◦ PreparedStatement – controla e executa uma instrução SQL. Mais segura.◦ ResultSet – contém o conjunto de dados retornado por uma consulta SQL

O DriverManager com base em qual driver chamar usa o getConnection para criar uma conexão.A interface Connection cria um PreparedStatement, faz commit, rollback, etc;

Executando ocorre uma exception. A conexão não pode ser aberta. Precisamos adicionar uma implementação de driver JDBC. E criar um BD chamado estoque.

Adicionar um driver do MySQL ao classpath, o arquivo jar contendo a implementação JDBC do MySQL (mysql connector). 9

Algumas exceptions JDBC ClassNotFoundException (Erro de classe não encontrada)

◦ falta do driver no projeto

SQLException – No suitable driver found for (erro do nome do driver)◦ A URL de conexão foi construída errada

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();11

Projeto Crie um novo projeto chamado Estoque.

Copie o driver do MySQL para a biblioteca do seu projeto.

Crie uma tabela no BD Estoque chamada Produto:

12

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.

◦ Classe javabean equivalente ao modelo de entidade do banco de dados.

13

14

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 15

ProdutoDAO

16

Método de cadastrar

17

Testar cadastro

18

Exercício Crie um método de alteração dentro da classe ProdutoDAO em seguida teste o método através da classe TestarAltera.

19

Leituras Banco de Dados e JDBC

◦ http://www.caelum.com.br/apostila-java-web/bancos-de-dados-e-jdbc/

Livro: Programação Java para a WebCapítulo 3. Introdução a Hibernate e SQL com Java

Páginas 107 a 119