Acesso a Banco de Dados com JDBC e DAO Aplicações para Web
API - JDBC API – Application Program Interface JDBC – Java DataBase Connectivity Pacote java.sql.*
API - JDBC java.sql.Connection java.sql.DriverManager; Representa uma conexao com um banco de dados especificado java.sql.DriverManager; Possibilita a criar um objeto Connection a partir de uma string de conexãoo; java.sql.Statement e java.sql.PreparedStatement; Representa um comando SQL a ser executado java.sql.ResultSet; Representa os dados obtidos como resultado de uma consulta no banco de dados (Select)
API - JDBC
API - JDBC
API - JDBC Encapsulando o código de abertura de conexão
API - JDBC Statement PreparedStatement
Persistência de Objetos Transição de Objetos de Domínio (Classes) em um Modelo Relacional (registro na tabela do DB) Dada Access Object (DAO) Padrão para persistência de dados que permite separar regras de negócio das regras de acesso a banco de dados Core J2EE Patterns http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html
Dada Access Object (DAO) Problema O Código de acesso a dados da aplicação fica, geralmente, espalhado em várias classes dificultando o entendimento, manutenção, e mudanças no modelo de dados ou troca de fornecedor de dados;
Dada Access Object (DAO) Problema Classe Negócio código SQL ERRADO Código de acesso aos dados misturado com código de regras de negócio
Dada Access Object (DAO) Problema
Dada Access Object (DAO) Solução Criar um ponto central em um pequeno conjunto de classes que são responsáveis por acessar os dados da aplicação. Separar classe de negócio de classe de acesso aos dados;
Dada Access Object (DAO) Solução Classe Negócio D A O código SQL CORRETO Código de acesso aos dados separado do código de regras de negócio. Acesso ao BD apenas pelo DAO.
Dada Access Object (DAO) Solução
Dada Access Object (DAO) Diagrama de Classe