Post on 05-Jun-2020
Gilberto B. Oliveira 1
Desenvolvimento de Sistemas
Projeto Supermercado---
Conexão MySQLCRUD (Create, Read, Update e Delete)
Classe DAO (Data Access Object)
Gilberto B. Oliveira 2
Desenvolvimento de Sistemas
Revisão do Projeto
Gilberto B. Oliveira 3
Criação de pacotes adicionais
Projeto AnteriorEstrutura de pacotes MVC
model designteste
view gui modelo
controller
Gilberto B. Oliveira 4
Modelagem das Classes (Beans)
Projeto AnteriorModelagem das classes conforme padrão estabelecido
Guiado por testesEncapsuladaDois construtores (completo e vazio)
Obs: recomendo a definição os pacotes model.design e model.teste
Gilberto B. Oliveira 5
Desenvolvimento de Sistemas
Modelagem do Banco de Dados
Gilberto B. Oliveira 6
Código SQL DDL
Gilberto B. Oliveira 7
Tabela Produto
Gilberto B. Oliveira 8
Desenvolvimento de Sistemas
Configurações necessárias para suportar a conexão com o Banco de Dados
Gilberto B. Oliveira 9
1. Adicionar a Biblioteca de Drivers do MySQL
Gilberto B. Oliveira 10
2. String de conexão com o BD
Gilberto B. Oliveira 11
3. Classe de conexão: Atributos
Gilberto B. Oliveira 12
3. Classe de conexão: método getConnection()
Gilberto B. Oliveira 13
4.Classe de Conexão: closeConnection() 1
Gilberto B. Oliveira 14
5.Classe de Conexão: closeConnection() 2
Gilberto B. Oliveira 15
6.Classe de Conexão: closeConnection() 3
Gilberto B. Oliveira 16
Desenvolvimento de Sistemas
Implementação da Classe DAOData Access Object
CRUD (Create, Read, Update, Delete)
Gilberto B. Oliveira 17
1. Classe DAO: Método create()
Gilberto B. Oliveira 18
1.1 Atualizando o código: Botão Gravar
Gilberto B. Oliveira 19
Observações:
Obs1: A classe Bean (classe Produto em model.design) precisa ser atualizada com um construtor só com Descrição e Valor Unitário, pois o código será auto incrementado pelo BD.Obs2: A caixa de texto com o código do produto precisa ser desativada;Obs3: Iniciar o foco no campo descrição, já que o campo código do form não mais recebe dados.
Gilberto B. Oliveira 20
Testando...
Gilberto B. Oliveira 21
2. Classe DAO: Método read()
Gilberto B. Oliveira 22
2.1. Fazendo a leitura da tabela ao inicializar o form
Gilberto B. Oliveira 23
Testando...
Gilberto B. Oliveira 24
Observações
Obs1: Logo, é preciso chamar o método lerTabela() após gravar, para que o dados gravados sejam atualizado na tabela…Obs2: BUG!! A tabela duplica os registros do bd! Para resolver o problema é preciso criar um método cleanTable() na classe TableModel para ser chamado no método lerTabela.
Gilberto B. Oliveira 25
Obs2: O BUG!!
Gilberto B. Oliveira 26
Obs2: Solução (1ª Parte): Método cleanTable()
Gilberto B. Oliveira 27
Obs2: Solução (2ª Parte)Uso de métodos na classe GUI
Gilberto B. Oliveira 28
3. Classe DAO: Método update()
Gilberto B. Oliveira 29
3.1 Atualizando o botão Alterar
Gilberto B. Oliveira 30
4.Classe DAO: Método delete()
Gilberto B. Oliveira 31
4.1 Atualizando o botão excluir
Gilberto B. Oliveira 32
Testando...
Gilberto B. Oliveira 33
Projeto Final
Gilberto B. Oliveira 34
Referência
http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html
Youtube – canal descompila <descompila.com.br>https://www.youtube.com/channel/UCgOu28f2-cdegVHuZZhLDdA