Criando uma aplicação web. Parte 1

Documentos relacionados
Criando uma aplicação web

Continuação... Criando a Interface e adiante

Conexão com Banco de Dados

JPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

Continuação... Criando a Interface e adiante

UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES

JAVA ENTERPRISE EDITION: CRIAR BEANS DE ENTIDADE A PARTIR DE TABELAS

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

POO Programação Orientada a Objetos

Hibernate na sua aplicação JavaWeb

Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB

Agenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão

Padrões de codificação Java (JSF)

Framework Hibernate/JPA

Hibernate Anotations

Introdução ao Desenvolvimento de

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

SISTEMA DE MAPEAMENTO DE DADOS DE ALUNOS COM NECESSIDADES ESPECIFICAS

FERRAMENTA DE GERENCIAMENTO PARA O SGBD MYSQL

PROGRAMAÇÃO SERVIDOR MIDDLEWARE JDBC: USANDO O JAVA DB EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Persistência BD / drivers

TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL

Padrão de projeto de software

Aula 05. Prof. Diemesleno Souza Carvalho

Acadêmico: Samuel Y. Deschamps Orientador: Prof. Jacques R. Heckmann

ALUNO: RONI FABIO BANASZEWSKI

2 a Lista de Exercícios

Mapeamento Objeto-Relacional

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 9- Introdução ao JDBC

CURSO DE TÉCNICO DE INFORMÁTICA - PLANO DE DISCIPLINA/2016 PROGRAMAÇÃO PARA MODELAGEM DE SISTEMA

Algoritmos e Programação II. Coleções. Coleções. Baseado no material do Prof. Julio

BANCO DE DADOS WEB AULA 3. programas cliente: psql - pgadmin 3 - phppgadmin. professor Luciano Roberto Rocha.


TUTORIAL SISTEMA DE CONTROLE DE ACESSO

MAPEAMENTO OBJETO RELACIONAL COM HIBERNATE EM APLICAÇÕES JAVA WEB

Integração Java x Flex

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

2ª Edição Décio Heinzelmann Luckow Alexandre Altair de Melo

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

Introdução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.

Computação II Orientação a Objetos

Noções do padrão MVC e DAO

CONTEÚDO PROGRAMÁTICO

Mapeamento Lógico/Relacional com JPA

UMA ARQUITETURA VOLTADA PARA O DESENVOLVIMENTO DE APLICAÇÕES WEB.

Disciplina: Unidade III: Prof.: Período:

DESENVOLVIMENTO DE APLICATIVO PARA GERENCIAMENTO E ACOMPANHAMENTO DE ESCAVAÇÃO ARQUEOLÓGICA

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Lista de Exercícios Dissertativo

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Aula Extra Configuração do Eclipse com Hibernate

TECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

JPA - Java Persistence API. Entity. Entity Campos e Propriedades Entity Chaves Primárias Entity Associações. Entity Manager

Computação II Orientação a Objetos

Escrito por Neri Neitzke Qua, 21 de Dezembro de :34 - Última atualização Dom, 02 de Abril de :04

Desenvolvimento de um Framework para replicação de dados entre bancos heterogêneos

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

Curso: Banco de Dados I. Conceitos Iniciais

AULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans

Sistemas Comerciais Java EE com CDI, JPA e PrimeFaces

Linguagem de Programação III

Objetos e Componentes Distribuídos: EJB e CORBA

Criando a Classe Pessoa Exemplo: Crie e modele uma classe que receba o nome, idade e peso de uma Pessoa. Ao final mostre os dados na tela.

Figura 1: Eclipse criação de um Dynamic Web Project

Revisando Banco de Dados. Modelo Relacional

INTRODUÇÃO À TECNOLOGIA SERVLETS

API JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

PROGRAMAÇÃO ORIENTADA A OBJETOS II -CRIANDO UM BD POSTGRESQL. Prof. Angelo Augusto Frozza, M.Sc.

Aula Prática 2 BD PostgreSQL. Profa. Elaine Faria UFU

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Injeção de Dependências e Spring

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Plano de Trabalho Docente Ensino Técnico

PROPOSTA DE DESENVOLVIMENTO DE SOFTWARE

CONTEÚDO PROGRAMÁTICO

Programação Orientada a Objetos

NOÇÕES DE INFORMÁTICA ALISSON CLEITON MÓDULO VIII

Manual de Procedimentos para Desenvolvimento de Softwares

5.9 Mídias: Clique no botão de Gerenciador de Mídias, ou acesse o Menu Conteúdo => Gerenciador de Mídias.

Singleton e Adapter. Professor: Nazareno Andrade (baseado no material de Hyggo Almeida e Jacques Sauvé)

Um Repositório Chave-Valor com Garantia de Localidade de Dados. Patrick A. Bungama Wendel M. de Oliveira Flávio R. C. Sousa Carmem S.

Desenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM

Plano de Aula - Access cód Horas/Aula

JPA 2.0 e Servlet 3.0

Desenvolvimento Web III. Prof. Felippe Scheidt

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

C# Exemplo MDI. Figura 1: Tela de criação de novo projeto. Prof. Edwar Saliba Júnior

Transcrição:

Criando uma aplicação web Parte 1

Aplicações web Criaremos uma aplicação completa utilizando: Bancos de dados Modelo MVC JavaServer Faces (PrimeFaces)

Um pouco sobre banco de dados Todas as aplicações precisam armazenar dados de forma permanente Arquivos Operações de inserir, consultar, excluir e alterar devem ser implementadas pelo programador Banco de dados (Sistemas Gerenciadores de Banco de Dados) Algoritmos eficientes para as operações Programador pode ser preocupar somente com a lógica da aplicação São práticos e seguros

Banco de Dados Relacional Muito tempo atrás, cada programa gerenciava seus dados Com o surgimento de sistemas gerenciadores de banco de dados, a persistência passou a ser atividade separada Os bancos relacionais guardam os dados na forma de tabelas e mantém relacionamentos entre elas Com o surgimento da orientação a objetos houve uma lacuna entre a forma como os dados são armazenados e a forma como o programa os trata Criou-se, então, o mapeamento objeto-relacional Vamos abstrair boa parte disto por enquanto

Banco de Dados Relacional Exemplo: se quisermos manter as salas do prédio em uma tabela, os dados ficariam assim: Cada linha representa uma sala e cada coluna um dado da sala

Criando um banco de dados Utilizaremos o SGBD PostgreSQL e a ferramenta de administração pgadmin

Criando um banco de dados Dê um nome significativo

Criando um banco de dados Utilizaremos o pgadmin apenas para criar o banco O gerenciamento dos dados será feito pela aplicação

Criando a aplicação Utilizaremos: IDE: NetBeans Servidor web: Tomcat SGBD: PostgreSQL Framework: JavaServer Faces Componentes: PrimeFaces Driver: postgresql Biblioteca persistência: EclipseLink

Criando a aplicação Crie um projeto no NetBeans

Criando a aplicação Escolha o servidor Tomcat

Criando a aplicação Escolha JavaServer Faces e Primefaces

Criando a aplicação O esqueleto do projeto foi criado Utilizaremos JPA - Java Persistence API Para isso, é necessário criar algumas classes e arquivos de configuração adicionar algumas bibliotecas javax.persistence eclipselink postgresql Baixe as bibliotecas e adicione no projeto

Criando a aplicação

Criando o Arquivo persistence.xml O arquivo persistence.xml deve conter a configuração da conexão com o banco de dados Deve estar na pasta META-INF dentro da pasta src

Criando o Arquivo persistence.xml Edite o arquivo

Criando uma unidade de persistência Sistemas que usam JPA precisam de apenas uma instância de EntityManagerFactory A instância pode ser criada na inicialização da aplicação É responsável por fornecer um EntityManager EntityManager é responsável por gerenciar entidades no contexto de persistência Por meio dos métodos desta interface é possível criar, consultar, excluir e pesquisar objetos do banco

Criando uma unidade de persistência Vamos criar uma classe JpaUtil para ser nossa fábrica de EntityManager

Criando uma unidade de persistência É necessário informar o nome da unidade de persistência definida no aquivo persistence.xml

Começando a programar nossa aplicação Busque, no domínio da sua aplicação, uma classe que não tenha dependência de outras classes Por exemplo: no Faltometro, a classe Curso não depende de nenhuma outra A classe Disciplina, depende de Curso, pois uma disciplina pertence a um Curso (Sim, um Curso tem n disciplinas, mas vamos abstrair por enquanto)

Criando a primeira classe

Criando a primeira classe Encapsule os campos e implemente a interface Serializable

Criando a primeira classe Crie um construtor sem argumentos

Criando a primeira classe Transforme a classe em um classe de entidade

Criando a primeira classe Crie a chave (identificador único dos objetos no banco) No caso, o código do curso será o identificador (não haverá dois códigos iguais)

Criando a primeira classe Transforme todos os atributos da classe em colunas

Criando a primeira classe Implemente os métodos equals( ), hascode( ) e tostring( ) Dica: deixe o NetBeans implementar para você e depois ajuste conforme necessário

Criando a primeira classe Registre a classe no arquivo persistence.xml

Criando um DAO - Data Access Object DAO é um padrão para persistência da dados que permite separar os dados (modelo) das regras para acesso ao banco Para nossa classe Curso, criaremos um CursoDao para as operações relativas a banco

Criando um DAO - Data Access Object

Hora de testar Crie uma classe de teste para CursoDao

Hora de testar Crie um método de teste Shift + F6

Outros métodos para operações de banco Consultar Alterar Excluir Listar Veja o código de exemplo no github

Relacionamentos entre Entidades

Relacionamentos entre Entidades As classes, geralmente, possuem relacionamentos entre si Por exemplo, um Curso tem n Disciplinas Precisamos relacionar as classes por meio de anotações específicas

Relacionamentos entre Entidades Relacionamento UM para MUITOS (OneToMany)

Relacionamentos entre Entidades Relacionamento UM para MUITOS (Classe Curso) curso é o campo na classe Disciplina

Relacionamentos entre Entidades Relacionamento MUITOS para UM (Classe Disciplina) curso é o campo na classe Disciplina referencedcolumnname é o campo na tabela Curso