Boa noite.
Vamos para a terceira parte da nossa série onde criaremos um projeto CRUD usando JDBC com Eclipse e MySQL.
Nesse artigo iremos criar as classes modelos, Candidato, Profissão, CEP e Reserva. Cada classe será desenvolvida com um critério simples para poder oferecer um projeto básico de conexão com banco de dados.
A classe Reserva é a mais simples delas, tem apenas duas variáveis CPF do tipo String e dataContratacao que usa o tipo Date. O objetivo da classe é fazer guardar o cpf que já foi contratado.
Veja a figura 1 a nossa classe codificada:
Figura 1 - Classe modelo Reserva
Observe como a classe reserva é pequena e simples. É fácil definir uma variável, basta informar o modificador de acesso, o tipo de variável e o seu nome.
Existem três tipos de acesso e vou explicar cada um deles brevemente:
- Private: Ao declarar uma variável como private, ela não poderá ser acessada ou usada por nenhuma outra classe. Esse modificador se aplica apenas aos métodos e atributos. Esses atributos e métodos também não podem ser visualizados pelas classes herdadas;
- Public: Ao declarar a variável como public, ela poderá ser acessada de qualquer lugar e por qualquer entidade que possa visualizar a classe a que ela pertence;
- Protected: O modificador protected torna o membro acessível às classes do mesmo pacote ou através de herança, seus membros herdados não são acessíveis a outras classes fora do pacote em que foram declarados;
- Default: A classe e/ou seus membros são acessíveis somente por classes do mesmo pacote, na sua declaração não é definido nenhum tipo de modificador, sendo este identificado pelo compilador.
Observe que a classe possui variáveis private e métodos public, o objetivo é trabalharmos apenas com os métodos e impedir o acesso as variáveis desta classe.
Vamos falar um pouco dos tipo de variáveis usadas nesta classe:
- String: O tipo String, com S maiúsculo, é um dos objetos mais utilizados. As Strings em Java não são tratadas como sequências de caracteres terminadas por NULL. São objetos ou instâncias da classe java.lang.String, portanto, devem ser declarados e instanciados;
- Date: No Java o tempo é representado em milissegundos, sendo medido a partir da data 01/01/1970. Essa data pode ser recuperada através do comando System.currentTimeMillis(). A data representa o tempo, um tempo é composto por ano, mês, dia atual, minuto atual, entre outras propriedades que essa classe possui.
Falaremos sobre outros tipos mais adiante. Vamos para a próxima classe CEP, observe a figura 2:
Figura 2 - Classe Modelo Cep
A classe CEP possui as variáveis, codigoPostal, estado, bairro, cidade e rua. Observe que o tipo int (integer) foi utilizado no campo codigoPostal.
Esse tipo 'int', por exemplo, armazena 32 bits, ou qualquer inteiro entre -2.147.483.648 e 2.147.483.647. Esse tipo int é muito utilizado como id ou código nas classes modelos nos projetos.
Vamos a próxima classe Profissão, veja a figura 3:
Figura 3 - Classe Modelo Profissão
A classe profissão possui a mediaSalarial que é do tipo double que é uma das opções que permite usar valores decimais. O double é o tipo de dado mais complexo que há em Java e o maior valor possível de se armazenar é 1,797.693.134.862.315.7E+308. Muito mais do que qualquer programador precisa.
Observe a classe profissão possui um código do tipo int. Este código será uma referência para busca de registros no banco de dados futuramente.
Vamos a última classe candidato, observe a figura 4:
Figura 4 - Classe Modelo Candidato
Nesta classe Candidato utilizamos o tipo long que pode armazenar o dobro da capacidade do tipo int.
Observe que tenho os objetos Profissao e CEP que são as classes que criamos anteriormente. Elas são necessárias já que cada candidato tem uma profissao e um cep, essa é a forma que utilizamos para 'linkar' as informações respeitando as chaves estrangeiras que criamos no banco de dados.
Veja a figura 5 a seguir como está o conteúdo do seu projeto:
Figura 5 - Projeto atualizado
Aqui encerramos a terceira parte do nosso projeto Crud com JDBC.