Mini Curso - Programação de Interfaces Gráficas - aula extra persistência

278 visualizações

Publicada em

Mini Curso - Programação de Interfaces Gráficas - aula extra persistência

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
278
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
25
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Mini Curso - Programação de Interfaces Gráficas - aula extra persistência

  1. 1. Programação de Interfaces Gráficas Aula extra Mini Curso INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TRIÂNGULO MINEIRO – Campus Avançado Uberlândia Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br
  2. 2. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Objetivos Aula extra • Refazer a camada DAO para persistir objetos no banco de dados com Hibernate/JPA
  3. 3. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Criação do banco de dados • Deve-se criar um banco de dados. O NetBeans oferece suporte nativo ao JavaDB (antigo apache Derby)
  4. 4. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Criação do banco de dados • Deve-se conectar ao banco
  5. 5. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Arquivo de Persistência • Deve-se adicionar a unidade de persistência
  6. 6. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Arquivo de Persistência • Nesta tela, deve-se selecionar a biblioteca do Hibernate, o banco de dados, e selecionar Drop and Create, para criar o banco automaticamente a partir dos objetos.
  7. 7. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Arquivo de Persistência • Com isso, deve-se ter criado um novo arquivo chamado Persistence.xml
  8. 8. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Adição da Biblioteca do JavaDB • Deve-se adicionar a biblioteca do JavaDB
  9. 9. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe persistente Fornencedor • Deve-se editar a classe Fornecedor, para contemplar as anotações JPA
  10. 10. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe persistente Fornencedor • O campo cnpj recebe a anotação @Transient porque não terá uma coluna no banco de dados
  11. 11. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe FornecedorDao • Para a classe FornecedorDao, deverá ser retirado o conjunto (Set) de fornecedores, e adicionado um atributo EntityManager.
  12. 12. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe FornecedorDao • Duas observações sobre o código do slide anterior: • 1) Estamos invocando o método salvar() para popular o banco de dados com alguns fornecedores; • 2) Ao invés de inicializar os fornecedores com códigos, estamos inicializando com null, porque o código é gerado automaticamente pelo Hibernate.
  13. 13. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe FornecedorDao • O método getNovoCodigo() deve ser excluído; • O novo método salvar() está preparado para insert e update.
  14. 14. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe FornecedorDao • O método excluir também deve fazer merge, pois o fornecedor selecionado deve ser carregado pelo Hibernate.
  15. 15. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Edição da classe FornecedorDao
  16. 16. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Execução da Aplicação Ao executar a aplicação, verificando que os fornecedores são mostrados na tabela.
  17. 17. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Execução da Aplicação Ao clicar em viewData, podemos observar que os fornecedores estão salvos no banco de dados
  18. 18. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Execução da Aplicação Um item interessante a se observar é que NENHUMA ALTERAÇÃO foi realizada nas camadas view e control, restringindo-se à camada DAO e a inclusão das anotações JPA na camada domain.
  19. 19. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Inclusão da Persistência para o CRUD de produto Para a classe Produto, crie a classe abaixo dentro da camada DAO e altere o construtor para FornecedorDao:
  20. 20. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Inclusão da Persistência para o CRUD de produto Altere o domain de Produto
  21. 21. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Inclusão da Persistência para o CRUD de produto Altere o Dao de Produto
  22. 22. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Inclusão da Persistência para o CRUD de produto Altere o Dao de Produto
  23. 23. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Inclusão da Persistência para o CRUD de produto Altere o Dao de Produto
  24. 24. Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br Referências • [1] – “Dominando NetBeans”; Edson Gonçalves; Editora Ciência Moderna, 2006; • [2] –“Swing + Beans Binding” – revista Java Magazine, ed. 70; • [3] – “Criando aplicações com MVC” – revista Java Magazine, ed. 83; • [4] – “Java Persistence com Hibernate”; Gavin King.

×