mini curso - programação de interfaces gráficas - aula extra persistência

24
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 [email protected]

Upload: carlos-eduardo-dantas

Post on 11-Jun-2015

114 views

Category:

Technology


3 download

DESCRIPTION

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

TRANSCRIPT

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

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 – [email protected]

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

Prof Carlos Eduardo Dantas – [email protected]

Objetivos Aula extra

• Refazer a camada DAO para persistir objetos no banco de dados com Hibernate/JPA

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

Prof Carlos Eduardo Dantas – [email protected]

Criação do banco de dados

• Deve-se criar um banco de dados. O NetBeans oferece suporte nativo ao JavaDB (antigo apache Derby)

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

Prof Carlos Eduardo Dantas – [email protected]

Criação do banco de dados

• Deve-se conectar ao banco

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

Prof Carlos Eduardo Dantas – [email protected]

Arquivo de Persistência

• Deve-se adicionar a unidade de persistência

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

Prof Carlos Eduardo Dantas – [email protected]

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.

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

Prof Carlos Eduardo Dantas – [email protected]

Arquivo de Persistência

• Com isso, deve-se ter criado um novo arquivo chamado Persistence.xml

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

Prof Carlos Eduardo Dantas – [email protected]

Adição da Biblioteca do JavaDB

• Deve-se adicionar a biblioteca do JavaDB

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

Prof Carlos Eduardo Dantas – [email protected]

Edição da classe persistente Fornencedor

• Deve-se editar a classe Fornecedor, para contemplar as anotações JPA

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

Prof Carlos Eduardo Dantas – [email protected]

Edição da classe persistente Fornencedor

• O campo cnpj recebe a anotação @Transient porque não terá uma coluna no banco de dados

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

Prof Carlos Eduardo Dantas – [email protected]

Edição da classe FornecedorDao

• Para a classe FornecedorDao, deverá ser retirado o conjunto (Set) de fornecedores, e adicionado um atributo EntityManager.

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

Prof Carlos Eduardo Dantas – [email protected]

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.

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

Prof Carlos Eduardo Dantas – [email protected]

Edição da classe FornecedorDao

• O método getNovoCodigo() deve ser excluído;

• O novo método salvar() está preparado para insert e update.

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

Prof Carlos Eduardo Dantas – [email protected]

Edição da classe FornecedorDao

• O método excluir também deve fazer merge, pois o fornecedor selecionado deve ser carregado pelo Hibernate.

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

Prof Carlos Eduardo Dantas – [email protected]

Edição da classe FornecedorDao

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

Prof Carlos Eduardo Dantas – [email protected]

Execução da Aplicação

Ao executar a aplicação, verificando que os fornecedores são mostrados na tabela.

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

Prof Carlos Eduardo Dantas – [email protected]

Execução da Aplicação

Ao clicar em viewData, podemos observar que os fornecedores estão salvos no banco de dados

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

Prof Carlos Eduardo Dantas – [email protected]

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.

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

Prof Carlos Eduardo Dantas – [email protected]

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:

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

Prof Carlos Eduardo Dantas – [email protected]

Inclusão da Persistência para o CRUD de produto

Altere o domain de Produto

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

Prof Carlos Eduardo Dantas – [email protected]

Inclusão da Persistência para o CRUD de produto

Altere o Dao de Produto

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

Prof Carlos Eduardo Dantas – [email protected]

Inclusão da Persistência para o CRUD de produto

Altere o Dao de Produto

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

Prof Carlos Eduardo Dantas – [email protected]

Inclusão da Persistência para o CRUD de produto

Altere o Dao de Produto

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

Prof Carlos Eduardo Dantas – [email protected]

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.