Configuração do Ambiente de
programação.
Manipulação de BD em Java,
CRUD em Java
Desenvolvimento 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.
Aplicação
Oracle
SQL Server
MySQL
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.
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.
Aplicação
JDBC
Oracle
SQL Server
MySQL
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 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
6
Arquitetura da JDBC
Aplicação Java
API JDBC
JDBC DRIVER MANAGER
DRIVER
JDBC
DRIVER
JDBC
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 Web
Capítulo 3. Introdução a Hibernate e SQL com Java
Páginas 107 a 119
Download

Configuração do Ambiente