Buscar

Projeto CRUD com JPA no NetBeans

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 47 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROJETO CRUD COM 
JPA USANDO 
NETBEANS 
Do banco de dados ao desenvolvimento 
 
Trabalho realizado pelo 4º período de Analise desenvolvimento de sistemas da 
Faculdade UNIVC em São Mateus/ES: 
• Bruna de Assis Zordan 
• Thaise dos Santos Nascimento 
• Kênia Ramos Pinheiro 
• Emanuel Carneiro dos Reis 
• Arthur Scopel Santos 
• Rodolfo Pereira Katachinski 
• Tayana Inyth Cunha Rozario 
• Lana Codeco de Matos 
• Nickson Corradi Barbosa 
 
 
 
 
2012 
Prof. Douglas Tybel 
FACULDADE VALE DO CRICARÉ - UNIVC 
17/10/2012 
1 
 
ABRIR PHPMYADMIN............................................................................................................................. 2 
CRIAR BANCO DE DADOS ....................................................................................................................... 3 
CRIAR TABELAS ...................................................................................................................................... 4 
DEFINIR STORAGE ENGINE ............................................................................................................................... 5 
DEFINIR RELAÇÕES ENTRE TABELAS .................................................................................................................... 6 
ADICIONANDO UM NOVO CAMPO – CHAVE ESTRANGEIRA ...................................................................................... 8 
DESENVOLVER O APLICATIVO CRUD - NETBEANS ................................................................................. 12 
CRIAR NOVO PROJETO NO NETBEANS ............................................................................................................... 12 
NOVO FORMULÁRIO DE AMOSTRA MESTRE/DETALHES – COMO CRIA-LO ................................................................. 13 
COMPILANDO O PROJETO .............................................................................................................................. 20 
FORMULÁRIO CRUD - TESTES ....................................................................................................................... 21 
TIPOS DE CAMPO PARA CHAVE ESTRANGEIRA - NOTAÇÃO .................................................................................... 27 
RELACIONAMENTO ENTRE ENTIDADES – NOTAÇÃO MANYTOONE ......................................................................... 31 
CHAVE ESTRANGEIRA – CAIXA DE COMBINAÇÃO ................................................................................................. 33 
BINDING ELEMENTS – VINCULAR ELEMENTOS DE UMA ENTIDADE A CAIXA DE COMBINAÇÃO ....................................... 35 
CAIXA DE COMBINAÇÃO – RENDERER .............................................................................................................. 36 
CONFIGURAR COMPONENTE JTABLE - TABELA ................................................................................................... 40 
CONFIGURAÇÃO DA CHAVE ESTRANGEIRA – NOTAÇÃO @JOINCOLUMN ................................................................. 43 
FINALIZANDO PROJETO – COMPILAR E TESTAR ................................................................................................... 45 
 
2 
 
ABRIR PHPMYADMIN 
 
Figura 1 - Tela para criar Bando de Dados 
Fonte: Própria (2012) 
 
Para abrir o PHPMyAdmin acesse seu servidor de pagina, no nosso exemplo será utilizado o 
servidor xampp. 
Acesse c:\xampp e execute o arquivo “xampp-control”. Feito isso, inicie o Apache e o MySQL 
clicando nos respectivos botões: “Start” ou “Iniciar”. 
 
Figura 2 - Xampp Control Panel 
Fonte: Propria (2012) 
 
Abra o PHPmyadmin, para isso clique no botão “admin” que está na frente do “MySql” do 
Xampp Control. 
 
 
3 
 
CRIAR BANCO DE DADOS 
No PHPMyAdmin(http://localhost/phpmyadmin/) defina nome para o seu banco de dados para 
“colaboradores” e clique no botão “criar”. 
 
Figura 3 - Criação de Banco de Dados 
Fonte: Propria (2012) 
 
Imediatamente será criado um banco de dados. 
Para visualizar as configurações do banco de dados criado, clique no nome do banco de dados 
que se encontra no lado esquerdo de sua tela. 
 
Figura 4 - Selecionar Banco de Dados 
Fonte: Própria (2012) 
 
 
4 
 
CRIAR TABELAS 
Próximo passo é criar uma tabela, clique em “Create Table” que se encontra ao lado esquerdo 
de sua tela. Essa funcionalidade surgirá independente da versão do PHPMySQLAdmin, caso 
tenha efetuado um clique no banco de dados. 
Preencha o campo “Nome:” com a tabela: Funcoes 
 
 
Figura 5 - Criar tabela 
Fonte: Propria (2012) 
 
Após definir o nome da tabela e o número de colunas que vai existir em seu projeto, em 
seguida clique no botão “Executar”. 
 
 
 
Figura 6 - Definir nome e número de colunas na tabela 
Fonte: Própria (2012) 
 
Feito isso aparecerá uma tabela com o número de colunas que já foi definido, repare que as 
colunas ficaram em branco para que seja preenchida de acordo com a estrutura do seu banco 
de dados. 
 
Figura 7 - Estrutura da tabela 
Fonte: Própria (2012) 
 
5 
 
Definir Storage Engine 
 
Não se esqueça de mudar o campo “Storage Engine” para “InnoDB”. 
InnoDB é um módulo ou estratégia de armazenamento para o MySQL, sua principal função é 
dar suporte a transações e chaves estrangeiras, evoluindo muito em relação ao antigo 
MyISAM. 
 
Figura 8 - Mudança do campo "Strorage Engine" para "InnoDB" 
Fonte: Própria (2012) 
 
 
Com a estrutura toda montada, faça sua ultima conferência e observe os tipos de campos, 
chaves entre outros. Em seguida clique no botão “Salvar”. 
 
 
Figura 9 - Salvando tabela 
Fonte: Própria (2012) 
 
Uma mensagem de confirmação de que a tabela foi criada aparecerá na tela. 
6 
 
 
 
Figura 10 - Confirmação de criação de tabela 
Fonte: Propria (2012) 
 
O próximo passo é clicar no nome de sua tabela para visualizarmos sua estrutura e outras 
funcionalidades. 
 
 
Figura 11 - Selecionar tabela para o acesso a mesma 
Fonte: Própria (2012) 
 
Definir relações entre tabelas 
 
O banco de dados relacional nos permite realizar as relações entre as tabelas. Para isso, basta 
clicar no Banco de dados Colaboradores >> Na tabela funções >> Aba Estrutura >> Link abaixo 
“Ver relações”. 
 
 
Figura 12 - Dentro da tabela - criar relações 
Fonte: Própria (2012) 
 
Esse passo é totalmente facultativo, uma vez que não é obrigatório, mas para nível de 
conhecimento, faremos com que a coluna estrangeira de funções, liste as funções, ao invés de 
seus respectivos códigos. Desta forma facilitará o cadastro e testes dos técnicos em 
7 
 
desenvolvimento. Ainda na tela de estrutura irão aparecer às relações existentes em sua 
tabela, vá à opção “Choose column to display” e mude para a coluna desejada. 
 
 
Figura 13 - Mudança de visualização para a coluna desejada 
Fonte: Própria (2012) 
 
Seguindo nosso exemplo a coluna “funcao" foi escolhida. Clique em “Salvar” no lado direito de 
sua tela. 
 
 
Figura 14 - Salvar alterações 
Fonte: Própria (2012) 
 
Em seguida será criada outra tabela mais uma vez no botão “Create Table” que se encontra ao 
lado esquerdo de sua tela. 
 
 
Figura 15 - Criação de uma nova tabela 
Fonte: Própria (2012) 
 
 
8 
 
Adicionando um novo campo – chave estrangeira 
 
Defina mais uma vez as estruturas de suas colunas. Siga exatamente como está na imagem 
acima. 
 
 
Figura 16 - Definir estruturas das colunas 
Fonte: Própria (2012) 
 
Clique em “Executar” que se encontra ao lado direito de sua tela, para criar mais uma coluna 
que chamaremos de “cod_funcao”, chave estrangeira da tabela de funções. 
 
Figura 17 - Executar alterações 
Fonte: Própria (2012) 
 
 
 
9 
 
Veja na figuraacima que foi criado mais uma coluna totalmente em branco para ser 
preenchida. 
 
 
Figura 18 - Criação de mais uma coluna 
Fonte: Própria (2012) 
 
Defina as estruturas dessa coluna que foi adicionada, abaixo segue os detalhes. 
Preencher o campo “cod_funcao” conforme imagem. 
 
 
Figura 19 – Preencher campos de tabela 
Fonte: Propria (2012) 
 
Repare que apenas o nome do campo e o tipo foram modificados do padrão. Clique em 
“Salvar” 
10 
 
 
 
Figura 20 - Salvar alterações de tabela 
Fonte: Própria (2012) 
 
Clique no nome da ultima tabela criada que se encontra do lado esquerdo de sua tela. No caso 
do nosso exemplo, clique em “funcionarios”. 
 
 
Figura 21 - Selecionar nome da ultima tabela criada 
Fonte: Própria (2012) 
 
Adicionaremos os campos como chave estrangeira. Clique em “Ver relações”. 
 
 
Figura 22 – Verificando relações 
Fonte: Própria (2012) 
 
 
11 
 
Nas relações da coluna mude a relação da coluna desejada. 
 
 
Figura 23 - Mudança de relação da coluna desejada 
Fonte: Própria (2012) 
 
Clique na tabela “funcionários”, na aba “Estrutura” observe o grupo “Relações”, veja que na 
coluna “cod_funcao” existe um combo com as opções de chave. Clique na caixa de seleção de 
“cod_funcao” escolha a chave: “colaboradores.funcoes.cod_funcao”, conforme mostra na figura 
abaixo: 
 
Figura 24 - Tela para adicionar chave estrangeira 
Fonte: Própria (2012) 
 
Depois de te escolhido essa opção, clique em “Salvar”. 
Parabéns, as definições das tabelas estão prontas! 
 
12 
 
DESENVOLVER O APLICATIVO CRUD - NETBEANS 
Agora podemos passar para a próxima etapa que será no NetBeans. 
O NetBeans IDE é um ambiente de desenvolvimento integrado (IDE) gratuito e de código 
aberto para desenvolvedores de software nas linguagens Java, C, C++, PHP, Groovy, Ruby, 
entre outras. 
Criar novo projeto no Netbeans 
Para criarmos um novo projeto, vá ao menu Arquivo >> Novo >> Projeto ou pode utilizar os 
atalhos Ctrl+Shift+N. Na janela para escolha um novo projeto, escolha na Categoria “Java” e na 
Subcategoria de projetos, escolha: “Aplicativo Java” e clique em próximo. 
 
Figura 25 - NetBeans – Novo Projeto 
Fonte: Própria (2012) 
 
 
13 
 
Abrirá uma nova janela chamada novo aplicativo Java. Informe o nome do projeto 
“Colaboradores”. Todas as demais opções devem estar conforme figura abaixo, com exceção 
dos caminhos que serão assumidos de acordo com cada micro. Clique em “Finalizar”. 
 
Figura 26 - Netbeans – Novo Aplicativo Java 
Fonte: Própria (2012) 
 
Novo formulário de amostra mestre/detalhes – Como cria-lo 
Clique sobre o pacote “colaboradores” com o botão direito vá em Novo e depois em “Outro...” 
 
Figura 27 - Tela para criar outro formulário 
Fonte: Própria (2012) 
 
 
14 
 
Abrirá uma nova janela de novo arquivo, neste sentido clique na categoria “Formulários GUI 
Swing” e depois em “Tipo de arquivos”, selecione o item: “Formulário de amostra 
mestre/detalhe”. Clique em próximo. 
Esse é o 1º passo, a escolha do tipo de arquivo. 
 
Figura 6 – Netbeans – Tela Novo arquivo 
Fonte: Própria (2012) 
 
Aparecerá uma nova janela como o nome novo formulário mestre/detalhe. Iremos para o 2º 
passo que se trata do nome e local. Mude o nome da classe para “JFFuncoes”. Clique em 
próximo. 
 
Figura 7 – Tela do 2º passo do nome e local 
Fonte: Própria (2012) 
Aparecerá uma nova janela para damos continuidade ao 3º passo, que é a tabela mestre. Vá 
até “Conexão de banco de dados” na caixa de seleção, procure pela opção “Nova conexão 
15 
 
com banco de dados...” e selecione com um clique. Isso possibilitará o vinculação do NetBeans 
com o banco de dados. 
 
Figura 28 - Tela para adicionar nova conexão de banco de dados 
Fonte: Própria (2012) 
 
Na janela “Assistente nova conexão” terá varias opções de driver. Escolha a opção MySQL 
(connector / J driver). 
 
Figura 9 - Tela Assistente de nova conexão 
Fonte: Própria (2012) 
 
Clique em próximo como mostra a figura: 
16 
 
 
Figura 10 - Tela para localizar driver 
Fonte: Própria (2012) 
 
A definição da tela de configuração da conexão fica a cargo de cada um. 
Caso esteja usando servidor xampp, então a configuração será praticamente a mesma. Não é 
obrigatório informar senha, mais no caso da figura abaixo a senha é “root”. 
 
Figura 29 – Assistente de nova conexão - testar conexão 
Fonte: Própria (2012) 
 
 
17 
 
Clique em finalizar como mostrar a figura abaixo: 
 
Figura 30 - Assistente de nova conexão - Finalizar 
Fonte: Própria (2012) 
 
Aparecerá o 3º passo “Tabela mestre”. Esse assistente gerará um formulário com os campos 
da tabela e uma grade. Neste passo você definirá quais campos deseja na grade e o ultimo 
passo os campos do formulário. Normalmente escolhemos todos os campos ou pelo menos os 
essenciais, mais uma regra é importante: Não remova o campo chave “cod_funcao”. Mesmo 
que você não o queira, deixe-o, senão pode ocorrer erros. Posteriormente se quiser pode 
removê-lo. 
 
Figura 31 - Tela para criar tabela mestre 
Fonte: Própria (2012) 
 
 
Após ter selecionados todas as colunas disponíveis e passado da esquerda para direita em 
“Colunas a serem incluídas”, deste modo é possível prosseguir clicando no botão “Proximo”: 
18 
 
 
Figura 32 - Tela tabela mestre (Finalizando) 
Fonte: Própria (2012) 
 
Agora vamos passar para 4º passo, visto que neste momento escolheremos os campos a 
serem dispostos no formulário. 
Normalmente incluímos todos os campos com exceção dos campos AI (Auto incremento). Visto 
que uma PK geralmente é AI, então neste caso, o campo retornará a esquerda, para a listagem 
dos campos disponíveis. 
Basta selecionar o campo chave que está na listagem da direita e clicar no botão “<” que o 
“removerá” da listagem de campos disponíveis. Em nosso exemplo o campo chave é 
“cod_funcao”. 
 
Figura 33 - Opções de detalhe 
Fonte: Própria (2012) 
 
Veja abaixo a ilustração. 
19 
 
 
Figura 34 - Opções de detalhe (Campo AI) 
Fonte: Própria (2012) 
 
Clique no botão finalizar como mostra a figura abaixo : 
 
Figura 35 - Opções de detalhe (Finalizar) 
Fonte: Própria (2012) 
 
Agora seu formulário e a tabela mestre foi criada. Aguarde a barra de progresso do processo 
de criação. 
 
Figura 36 - Opções de detalhe (Campo AI) 
Fonte: Própria (2012) 
 
 
20 
 
Compilando o projeto 
Para que todos os arquivos de propriedade estejam atualizados, vá ate a barra de ferramenta 
superior e clique em executar e clique na opção para limpar e construir projeto principal, ou 
simplesmente usar as teclas Shift+F11 como atalho. 
 
Figura 20 - Tela para limpar e construir projeto principal 
Fonte: Própria (2012) 
 
Para executar o formulário que acabou de gerar, clique com botão direito sobre o JFFuncao e 
clique em “Executar arquivo” ou use as teclas Shift + F6 como atalho. 
 
Figura 37 - Tela executar o projeto 
Fonte: Própria (2012) 
 
Seu formulário foi gerado com as funcionalidades CRUD no designer padrão. 
CRUD (acrônimo de Create, Read, Update e Delete em língua Inglesa) para as quatro 
operações básicas utilizadas em bancos de dados relacionais. 
A abreviação CRUD mapeada para o padrão ISO/SQL: 
Create INSERT 
Read (Retrieve) SELECT 
Update UPDATE 
Delete (Destroy) DELETE 
Veja abaixo que existem botões de comando para persistência de dados. 
21 
 
A persistência de dados, na computação, refere-se ao armazenamento não-volátil de dados, 
por exemplo, o armazenamento de campos para entrada de dados sendo salvos no banco de 
dados. 
 
Figura 38 - Tela CRUD para Funções (Novo) 
Fonte: Própria (2012) 
 
Formulário CRUD - Testes 
Vamoscadastrar algumas funções para verificarmos se as funcionalidades CRUD estão todas 
em funcionamento. Após preencher o campo função, clique em “Save” para salvar como 
mostra a figura: 
 
 
Figura 39 - Tela CRUD para Funções (Salvar) 
Fonte: Própria (2012) 
 
 
22 
 
Pronto! Para visualizar os códigos gerados pelo AI, no campo “cod_funcao”, basta clicar no 
botão “Refresh”. 
 
Figura 40 - Tela CRUD para Funções (Atualizar) 
Fonte: Própria (2012) 
 
Compare abaixo os códigos gerados. 
 
Figura 41 - Tela CRUD para Funções (Campo AI) 
Fonte: Própria (2012) 
 
Geralmente começamos a gerar os formulários pelas tabelas que não tem chaves estrangeiras, 
isso para facilitar. 
Para criarmos o formulário CRUD da tabela de “Funcionarios”, clique com o botão direito do 
mouse no seu pacote “colaboradores” > Novo > Outro... 
23 
 
 
 
Figura 42 - Tela inicial do Netbeans (Outro...) 
Fonte: Própria (2012) 
 
Selecione a Opção “Formulários GUI Swing” e “Formulário de amostra mestre/detalhe” 
 
Figura 43 - Tela Novo Arquivo 
Fonte: Própria (2012) 
24 
 
Declare o nome da classe “JFFuncionarios” no pacote “colaboradores” e clique em Avançar. 
 
Figura 44 - Novo Formulário 
Fonte: Própria (2012) 
 
Selecione a conexão com o banco de dados (O nome do pacote a ser usado) “[root em 
Esquema padrão]”. 
A mesma conexão criada em passos anteriores, pois uma vez criada, não será mais 
necessário. 
 
Figura 45 - Novo Formulário (Conexão) 
Fonte: Própria (2012) 
 
 
25 
 
Selecione a tabela do banco de dados. 
 
Figura 46 - Novo Formulário (Tabela) 
Fonte: Própria (2012) 
 
Verifique as Colunas a serem incluídas e selecione “avançar” 
 
Figura 47 - Novo Formulário (Tabela Meste) 
Fonte: Própria (2012) 
 
26 
 
Selecione o campo “cod_funcionario” e selecione o botão (<) conforme a imagem.
 
Figura 48 – Novo Formulário (Opções de detalhe) 
Fonte: Própria (2012) 
 
O Campo “cod_funcionario” será incluído em “Campos disponíveis” e não será incluso no form, 
isso por ser um campo AI, conforme já explicado anteriormente. 
 
Figura 49 - Novo Formulário(Opções de detalhe – Campos disponíveis) 
Fonte: Própria (2012) 
 
 
27 
 
Selecione “Finalizar” com os campos incluídos ( funcionário, cod_funcao) e o campo ( 
cod_funcionario ) não será incluído no form. 
 
Figura 50 - Novo Formulário (Finalizar) 
Fonte: Própria (2012) 
 
Tipos de campo para chave estrangeira - Notação 
Quando o formulário contem campos de chave estrangeira como o “cod_funcao”, teremos que 
efetuar sua relação na classe gerada pelo IDE Netbeans. 
No pacote colaboradores, escolha o campo “Funcionarios.java” com o botão direito do mouse > 
Abrir. 
 
 
Figura 51 – Classe Funcionários – Abrir 
Fonte: Própria (2012) 
 
A tabela do código fonte do programa surgirá. 
 
Figura 52 - Classe Funcionários - Código 
Fonte: Própria (2012) 
 
Aproximadamente entre as linhas 45 a 47 você deve achar private int codFuncao . 
28 
 
 
 
Figura 53 - Classe Funcionários – Declaração da chave estrangeira 
Fonte: Própria (2012) 
 
A IDE Netbeans gera automaticamente a declaração os campos das tabelas, com seus 
respectivos tipos de dados que são obtida através do dicionário de dados do bando de dados. 
Para que a Entidade “Funcionarios” possa ter acesso a “Funcoes”, será necessário dentro dela 
para realizar uma notação que as ligará por meio de cardinalidade. 
O pronto de partida para esta relação seja realizada é que a declaração do campo seja 
alterada do seu tipo padrão que está no banco de dados, neste caso: de “int” para o tipo de 
dados de Entidade: “Funcoes”, veja como realizar. 
1. Localize o trecho: “private int codFuncao”. 
2. Apague o tipo “int” e com ajuda do atalho “Ctrl+ESPAÇO” digite “Funcoes” e o 
programa irá te auxiliar na escolha. 
 
Figura 54 - Classe Funcionários – Tipo de dados da chave estrangeira 
Fonte: Própria (2012) 
 
Depois de selecionado, normalmente o nome ficara grifado na cor amarelo. 
29 
 
 
Figura 55 - Classe Funcionários – Campos chaves estrangeiras 
Fonte: Própria (2012) 
 
Logo abaixo entre as linhas 54 e 56 pode ser encontrado o seguinte trecho: “public 
Funcionarios (integer codFuncionario, String funcionário, int codFuncao)”. 
 
 
Figura 56 - Classe Funcionários – Construtor 
Fonte: Própria (2012) 
 
Em todos os lugares onde o campo “cod_funcao” estiver declarado com o tipo “int”, deverá ser 
alterado para o tipo “Funcoes”. Para realizar esse passo selecione o tipo int e substitua para 
Funcoes assim como a figura abaixo (não se esqueça de usar Ctrl+ESPAÇO para o auxílio da 
escrita). 
 
 
Figura 57 - Classe Funcionários – Tipo Funcoes 
Fonte: Própria (2012) 
 
Normalmente o nome da classe Funcoes ficará grifado de amarelo, devido sua seleção. 
30 
 
 
Figura 58 - Classe Funcionários – Alterando tipo 
Fonte: Própria (2012) 
 
Para encontrar os pontos mais facilmente, na barra de rolagem do lado direito de um clique no 
ponto vermelho conforme a imagem abaixo: 
 
Figura 59 - Classe Funcionários - Demarcações de erro 
Fonte: Própria (2012) 
 
Aproximadamente na linha 80 você encontrará public int getCodFuncao () { 
 
Figura 60 - Classe Funcionários – Método getCodFuncao() 
Fonte: Própria (2012) 
 
public int getCodFuncao () - Troque o tipo primitivo “int” por “Funcoes” ( Não se esqueça de 
usar Ctrl+ESPAÇO ). 
 
Figura 61 - Classe Funcionários – Alterando tipo 
Fonte: Própria (2012) 
 
Logo abaixo entre as linhas 84 e 88 pode ser encontrado o trecho public void setCodFuncao 
(int codFuncao). 
31 
 
 
Figura 62 - Classe Funcionários – Encapsulamento (setCodFuncao) 
Fonte: Própria (2012) 
 
public void setCodFuncao (int codFuncao) - mude o int para Funcoes ( Não esqueça de usar o 
atalho Ctrl+ESPAÇO para o auxílio da escrita). 
 
Figura 63 - Classe Funcionários – Alterando encapsulamento 
Fonte: Própria (2012) 
 
O assistente pode surgir em algumas ocasiões. 
O tipo abaixo pode ser alterado manualmente, ou através do assistente “Lampada amarela”, 
basta clicar e selecionar “Alterar tipo de...” 
O texto irá se corrigir automaticamente. 
 
Figura 64 - Classe Funcionários - oldCodFuncao 
Fonte: Própria (2012) 
 
Relacionamento entre Entidades – Notação ManyToOne 
Na barre de rolagem selecione o traço de cor laranja, para definirmos o relacionamento. 
 
Figura 65 - Classe Funcionários – Criar o relacionamento 
Fonte: Própria (2012) 
 
Selecione o símbolo do inicio do texto “Criar relacionamento bidirecional ManyToOne” 
32 
 
 
Figura 66 - Classe Funcionários – ManyToOne (Cardinalidade) 
Fonte: Própria (2012) 
 
A tela para criar um relacionamento bidirecional surgirá. 
1. Apague o ultimo “s” do nome “funcionarioss”. 
2. Complete o nome com “List”. 
3. Ficará dessa forma: “funcionariosList”. 
4. Clique no botão OK 
 
Figura 67 - Classe Funcionários – Criar relacionamento bidirecional 
Fonte: Própria (2012) 
 
Neste momento, na classe “Funcoes” será adicionado um campo chamado: “funcionariosList” 
do tipo lista. Isso para que possamos através da classe que representa função, relacionar 
todos os funcionários. 
Salve o projeto no menu Arquivo >> “Salvar Todos”. 
33 
 
 
Figura 68 – Salvar projeto 
Fonte: Própria (2012) 
 
Para que todos os arquivos de propriedade estejam atualizados, selecione no menu Executar 
>> “Limpar e construir projeto principal”. 
 
Figura 69 – Executar – Limpar e construir 
Fonte: Própria (2012) 
 
Chave estrangeira – Caixa de combinação 
No pacote “colaboradores” selecione abrir em “JFFuncionarios.java” 
 
Figura 70 – Abrir formulário JFFuncionarios 
Fonte: Própria (2012) 
 
Exclua o campode texto de Cod_Funcao. 
34 
 
 
Figura 71 – Formulário Funcionarios – Campo cod_funcao 
Fonte: Própria (2012) 
 
O campo de texto de “cod_funcao” ficará sem nada a sua frente. 
 
Figura 72 – Formulário Funcionarios – Campo Cod Funcao 
Fonte: Própria (2012) 
 
Abra Paleta no menu Controle Swing e selecione Caixa de combinação e arraste para o campo 
em frente ao Cod_Funcao. 
35 
 
 
Figura 73 – Formulário Funcionarios (caixa de combinação para campos chaves estrangeira) 
Fonte: Própria (2012) 
 
Redimensione a “Caixa de combinação” até alinhar com os outros campos. 
 
Figura 74 – Caixa de combinação - Redimensionar 
Fonte: Própria (2012) 
 
Binding Elements – Vincular elementos de uma entidade a caixa de 
combinação 
Para preenchermos a caixa de combinação com a listagem com todas as funções ligadas ao 
banco de dados, é preciso com o botão direito clicar na caixa de combinação e selecione 
Vincular > elements. 
Esse processo chama-se “Binding” que significa vinculação. 
 
Figura 75 – Caixa de combinação - Vincular 
Fonte: Própria (2012) 
 
Na tela Vincular clique em “Importar dados para o formulário”. 
36 
 
 
Figura 76 – Caixa de combinação – Importar dados para o formulário 
Fonte: Própria (2012) 
 
Escolha a aba vinculação na tela que se abrirá, escolha a tabela “Funcoes” e clique em OK, 
conforme a figura abaixo. 
 
Figura 77 - Caixa de combinação – Elementos 
Fonte: Própria (2012) 
 
Caixa de combinação – Renderer 
No painel do projeto em propriedade do campo Cod Funcao. 
Para que a listagem retorne o nome da função ao invés dos códigos, colocaremos um retorno 
na caixa de seleção através de propriedades > RENDERER. 
Clique no botão “...”, tres pontinhos a frente da propriedade “renderer”. 
 
Figura 78 - Caixa de combinação – Renderer 
Fonte: Própria (2012) 
 
37 
 
Após executar o passo anterior aparecerá uma tela como está abaixo. 
 
 
Figura 79 - Seletor de componente 
Fonte: Própria (2012) 
 
Iniciaremos assim o processo de definição da propriedade, selecionando os devidos campos, 
SELETOR DE COMPONENTE>CÓDIGO PERSONALIZADO. 
 
Figura 80 - Seletor - Personalizar componente 
Fonte: Própria (2012) 
 
 
38 
 
Após clicar em código personalizado, escreva o seguinte código dentro do espaço: 
“jComboBox1.setRenderer” , e clique em “OK” logo em seguida no botão “OK” da janela. 
 
new DefaultListCellRenderer() { 
 @Override 
 public Component getListCellRendererComponent( 
 JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { 
 super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); 
 if (value instanceof Funcoes) { 
 Funcoes mec = (Funcoes)value; 
 setText(mec.getFuncao()); 
 } 
 return this; 
} 
 } 
 
No código acima, substitua os trechos em negrito e sublinhado por sua classe, neste exemplo 
“Funcoes”. 
 
Figura 81 - Caixa de combinação – renderer 
Fonte: Própria (2012) 
 
Ainda no campo PROPRIEDADES, clique em FECHAR. 
39 
 
O IDE Netbeans mostrará a seguinte janela e com o campo da caixa de texto do Cod Funcao 
criado na interface, ainda selecionado, selecione o botão Código-fonte da barra de ferramenta, 
que irá permitir exibir o código-fonte da classe. 
 
Figura 82 - Código fonte da classe 
Fonte: Própria (2012) 
 
Siga as orientações conforme figura abaixo e clique sobre o demarcador de erro que aparece 
ao lado da barra de rolagem. 
 
 
Figura 83 - Demarcação de erro 
Fonte: Própria (2012) 
 
Quando adicionamos o código ao renderer, no código fonte acusou falta das bibliotecas 
necessárias, sendo assim, faremos a importação. Clique com botão direito em um espaço 
vazio do código-fonte e em Corrigir importações. 
 
Figura 84 - Corrigir importações 
Fonte: Própria (2012) 
 
Agora que os erros de importação foram corrigidos. Clique no campo Projeto para retornarmos 
a interface gráfica. 
40 
 
 
Figura 85 - Visualizar projeto 
Fonte: Própria (2012) 
 
Configurar componente JTable - Tabela 
Na grade o campo onde deveria aparecer a função, ainda está “cod Funcao”. Para corrigirmos 
isso, iremos acessar o conteúdo da tabela e alterar. Clique com o botão direito do mouse e 
selecione a opção Conteúdo da tabela. 
 
Figura 86 - Conteúdo da tabela 
Fonte: Própria (2012) 
 
Após executar o passo anterior, aparecerá a seguinte janela, clique na Aba Colunas para editar 
os campos. 
 
Figura 87 - Tabela (Colunas) 
Fonte: Própria (2012) 
 
 
41 
 
Na Caixa de diálogo Personalizador, clique na aba COLUNAS>COD FUNCAO. 
Selecione o campo Expressão, clique em “+” da pasta CodFuncao. Ao expandir os campos 
contidos dentro da pasta e clique sobre “funcao". 
 
Figura 88 - Personalizador (funcao) 
Fonte: Própria (2012) 
 
Após realização desse passo, a janela pode ser fechada, basta clicar no botão FECHAR. 
Para definirmos qual item será marcado ao escolher uma função na caixa de combinações, 
selecionaremos a caixa de combinação do “Cod função” e com um clique com o botão direito 
do mouse, Vincular > selectedItem. 
 
Figura 89 - Vincular Item 
Fonte: Própria (2012) 
 
 
42 
 
Na aba Vinculação, no campo “Origem da vinculação” escola a opção “masterTable”. 
 
Figura 90 – Origem da vinculação 
Fonte: Própria (2012) 
 
Logo depois de escolher a Origem de Vinculação, precisaremos escolher a Expressão de 
Vinculação. Então deveremos Clicar no “+” em “selectedElement colaboradeos.Funcionarios” 
para abrir a pasta. 
Ao abrirmos a pasta requerida, selecione como Expressão de Vinculação “codFuncao 
colaboradores.Funcoes”, para seguir em frente. 
 
 
Figura 91 - Expressão de vinculação 
Fonte: Própria (2012) 
 
 
43 
 
A vinculação deverá ficar conforme abaixo. Clique em fechar. 
 
Figura 92 - Vinculação concluída 
Fonte: Própria (2012) 
 
Configuração da chave estrangeira – Notação @JoinColumn 
Voltando a tela principal. Para abrirmos a classe clique com o botão direito do mouse sobre a 
classe “Funcionarios.java” e em seguida “Abrir”. 
 
Figura 93 - Abrir classe Funcionarios 
Fonte: Própria (2012) 
 
Os passos seguintes são muito importantes, uma vez que faremos a ligação entre as entidades 
e sua cardinalidade usando notações JPA. 
Java Persistence API, chamada apenas de JPA, é uma API padrão do java para persistência 
que deve ser implementada por frameworks que queiram seguir o padrão. A JPA define um 
meio de mapeamento objeto-relacional para objetos Java simples e comuns (POJOs), 
denominados beans de entidade. 
Removeremos a notação @Basic da chave estrangeira. 
Perceba que na linha 45(está escrito: @Basic (optional = false)), selecione a linha e exclu-a. 
 
Figura 94 - Notação @Basic 
Fonte: Própria (2012) 
 
Faremos o mesmo processo com a linha 46(que está escrito: @Column(name=”cod_funcao”)). 
Selecione-a e exclu-a. 
44 
 
Essa notação @Column será substituída por um @JoinColumn. 
 
Figura 95 - Notação @Column 
Fonte: Própria (2012) 
 
Utilizando “ctrl + barra de espaço”, coloque um comando na linha 46, o “@JoinColumn”. 
Repare que entre os parênteses não tem absolutamente nada, por isso devemos, utilizando o 
“ctrl + espaço”, digitar “name”(sem aspas). 
 
Figura 96 - Notação @JoinColumn - Primeiros passos 
Fonte: Própria (2012) 
 
A notação deve ficar conforme abaixo: 
@JoinColumn (name=”cod_funcao”,referencedColumnName=”cod_funcao”) 
 
Figura 97 - @JoinColumn (completa) 
Fonte: Própria (2012) 
 
 
Finalizando o projeto precisamos saber se está tudo funcionando, por isso devemos limpar oprojeto principal e construí-lo. Portanto vá até a Barra de Ferramentas no menu Executar >> 
Limpar e Contruir o Projeto Principal (ou através das teclas de atalho Shift+F11). 
45 
 
 
Figura 98 - Limpar e Construir o Projeto Principal 
Fonte: Própria (2012) 
 
Finalizando projeto – Compilar e testar 
Depois de limpo e construído, podemos vê-lo funcionar, ou seja, executá-lo. Para isso 
deveremos clicar com o botão direito em “JFFuncionarios” e no menu escolher “Executar 
arquivo”. (Shift+F6). 
 
Figura 99 - Executar arquivo 
Fonte: Própria (2012) 
 
 
46 
 
E finalmente irá aparecer a tela do programa rodando. Para testar as funcionalidades CRUD, 
inicie clicando em “New” (do inglês: Novo). 
 
Figura 100 - Formulário Funcionarios - Primeira execução 
Fonte: Própria (2012) 
 
Coloque o nome do Funcionário e selecione sua função. Usaremos de exemplo o funcionário 
Douglas e sua função será Analista. 
Depois de colocar o nome e a função, salve clicando em “Save” (do inglês: Salvar). 
 
Figura 101 - Formulário Funcionarios – Salvando 
Fonte: Própria (2012) 
 
Pronto, agora é só atualizar para o programa mostrar o Codigo do Funcionário. Para atualizar 
deverá clicar em Refresh (do inglês: Refrescar; Atualizar).

Continue navegando