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

Post on 11-Jun-2015

114 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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

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)

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Criação do banco de dados

• Deve-se conectar ao banco

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Arquivo de Persistência

• Deve-se adicionar a unidade de persistência

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.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Arquivo de Persistência

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

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Adição da Biblioteca do JavaDB

• Deve-se adicionar a biblioteca do JavaDB

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

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

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.

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.

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.

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.

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

Edição da classe FornecedorDao

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.

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

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.

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:

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

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

Altere o domain de Produto

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

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

Altere o Dao de Produto

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

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

Altere o Dao de Produto

Prof Carlos Eduardo Dantas – carloseduardodantas@iftm.edu.br

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

Altere o Dao de Produto

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.

top related