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
Top Related