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]
Prof Carlos Eduardo Dantas – [email protected]
Objetivos Aula extra
• Refazer a camada DAO para persistir objetos no banco de dados com Hibernate/JPA
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)
Prof Carlos Eduardo Dantas – [email protected]
Criação do banco de dados
• Deve-se conectar ao banco
Prof Carlos Eduardo Dantas – [email protected]
Arquivo de Persistência
• Deve-se adicionar a unidade de 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.
Prof Carlos Eduardo Dantas – [email protected]
Arquivo de Persistência
• Com isso, deve-se ter criado um novo arquivo chamado Persistence.xml
Prof Carlos Eduardo Dantas – [email protected]
Adição da Biblioteca do JavaDB
• Deve-se adicionar a biblioteca do JavaDB
Prof Carlos Eduardo Dantas – [email protected]
Edição da classe persistente Fornencedor
• Deve-se editar a classe Fornecedor, para contemplar as anotações JPA
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
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.
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.
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.
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.
Prof Carlos Eduardo Dantas – [email protected]
Edição da classe FornecedorDao
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.
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
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.
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:
Prof Carlos Eduardo Dantas – [email protected]
Inclusão da Persistência para o CRUD de produto
Altere o domain de Produto
Prof Carlos Eduardo Dantas – [email protected]
Inclusão da Persistência para o CRUD de produto
Altere o Dao de Produto
Prof Carlos Eduardo Dantas – [email protected]
Inclusão da Persistência para o CRUD de produto
Altere o Dao de Produto
Prof Carlos Eduardo Dantas – [email protected]
Inclusão da Persistência para o CRUD de produto
Altere o Dao de Produto
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.
Top Related