Projeto Supermercado --- Conexão MySQL Classe DAO (Data ...Gilberto B. Oliveira 1 Desenvolvimento...

Post on 05-Jun-2020

3 views 0 download

Transcript of Projeto Supermercado --- Conexão MySQL Classe DAO (Data ...Gilberto B. Oliveira 1 Desenvolvimento...

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