Olá desenvolvedores, hoje iremos implementar o carregamento das categorias na classe de conexão DAO – Data Access Object, por onde todas as operações de banco de dados passam obrigatoriamente.

E para esta implementação devemos aplicar o seguinte raciocínio, se um dado produto pertence a uma categoria, implica dizer que dentro da tabela produto será necessário a criação de uma coluna que corresponda a categoria do produto. Dessa forma o primeiro passo no tutorial de hoje é a criação dessa coluna.

Abra a sua base de dados, selecione a tabela de produtos e no SQL EDITOR insira a Query que irá alterar a tabela produto inserindo a coluna categoria do tipo bigint.

ALTER TABLE produto ADD COLUMN categoria_id bigint;

CRIANDO FORENGE KEY

No tutorial passado “BANCO DE DADOS: TABELA DE CATEGORIA” onde a tabela categoria foi criada, atribuímos a ela uma chave primária. Esta primary key significa que cada categoria possui uma identificação única.

Agora precisaremos transformar a coluna categoria_id em uma chave estrangeira, o que nos possibilitará criar um relacionamento entre tabelas. A foreign key cumprirá a função de ser na tabela produtos uma referência a chave primária na tabela categoria. E, grosso modo é isso o que a chave estrangeira é, um campo em uma tabela que faz referência a um campo que é chave primária em outra tabela.

Dessa forma iremos alterar a tabela produto adicionando uma regra de restrição que será uma chave estrangeira na coluna categoria_id fazendo referência a coluna id da tabela categoria.

CRIANDO O OBJETO CATEGORIA

Antes de implementarmos o carregamento da lista de categorias é preciso ter criado o objeto categoria. No package de objetos beans, crie a classe de objeto BeanCategoria, com os atributos id e nome. Gere para os atributos os métodos Setters and Getters.

CARREGANDO A LISTA DE CATEGORIAS

Agora criaremos o método que será o responsável por carregar a lista de categorias, na classe DAO DaoProduto.java. A primeira ação é instanciar a lista de objetos categoria.

Ainda dentro do método implementaremos a instrução SQL para selecionar a categoria, e o preparedStatement que é um recurso para preparar e executar instruções do banco de dados. E por fim a consulta será retornada por meio do ResultSet.

Dessa forma, ainda no contexto do método listaCategorias(), enquanto existirem dados para serem listados, um novo objeto categoria será instanciado e processado, ou seja, o id e o nome da categoria serão injetados e adicionados à lista.

E fora do laço de repetição a lista será retornada.

return retorno;

EM POUCAS PALAVRAS

E neste tutorial carregamos a lista de produtos na classe de conexão DAO e recordamos os importantes conceitos de chave primária e estrangeira. Agora o próximo passo é criar o combo box na tela e fazer o carregamento pela servlet, e é o que faremos no próximo tutorial, eu fico por aqui e nos vemos lá.