Programação Web - Aula 05

23 Pages • 853 Words • PDF • 5 MB
Uploaded at 2021-09-24 13:51

This document was submitted by our user and they confirm that they have the consent to share it. Assuming that you are writer or own the copyright of this document, report to us by using this DMCA report button.


Programação Web PROF. MSC. ALEXANDRE BRAGA - [email protected]

OBJETIVOS DA AULA Conhecer os princípios de conexão a banco de dados; Conhecendo o conceito de persistência; Drivers de conexão; Conhecendo o H2 Database Engine.

PROGRAMAÇÃO WEB O uso de algum tipo de meio de armazenagem de dados é fundamental para qualquer tipo de aplicação moderna. Os sistemas precisam manter as informações para permitir consultas futuras, geração de relatórios ou possíveis alterações nas informações. Para que esses dados sejam mantidos, as informações são guardadas em um banco de dados, que as mantém de forma organizada.

PROGRAMAÇÃO WEB A maioria dos bancos de dados comerciais são bancos relacionais, que são muito usados com o paradigma de programação orientado a objetos. Persistência → processo de armazenamento de dados que faz uso de algum tipo de biblioteca específica para cada linguagem programação.

PROGRAMAÇÃO WEB No caso do Java usaremos a biblioteca JDBC (Java Database Connectivity). Além disso usaremos a ferramenta do tipo ORM (Object Relational Mapping) chamada Hibernate para simplificar o uso do JDBC.

PROGRAMAÇÃO WEB A conexão a um banco de dados é feita de maneira elegante com Java. Para evitar que cada banco tenha a sua própria API e um conjunto de classes e métodos, temos um único conjunto de interfaces muito bem definidas que devem ser implementadas. Esse conjunto de interfaces fica dentro do pacote java.sql (JDBC).

MODELO DE CONEXÃO

PROGRAMAÇÃO WEB Todos os principais bancos de dados do mercado possuem drivers JDBC para uso com Java. Driver → análogo ao que usamos para impressoras: como é impossível que um sistema operacional saiba conversar com todo tipo de impressora existente, precisamos de um driver que faça o papel de "tradutor" dessa conversa.

PROGRAMAÇÃO WEB JavaBeans → são classes que possuem o construtor sem argumentos e métodos de acesso do tipo get e set. É importante não confundir JavaBeans com Enterprise Java Beans (EJB), estes costumam ser javabeans com características mais avançadas. Podemos usar beans em diversas situações, como em classes que representam nosso modelo de dados.

PROGRAMAÇÃO WEB Um exemplo simples classe JavaBeans equivalente a um modelo de entidade de dados: public class Contato { public long id; public String nome; public String e-mail; public String getNome() { return this.nome; }

public String getEmail() { return this.email; } public void setEmail(String novo) { this.email = novo; }

public Long getId() { public void setNome(String novo) { return this.id; this.nome = novo; } } }

PROGRAMAÇÃO WEB Na arquitetura MVC (Model View Controller), o model representa a classe JavaBean que fará a persistência de dados. Ao criar esta classe, o sistema automaticamente irá gerar o banco de dados, se a conexão e a persistência tenham sido criadas de forma correta previamente. Isso facilita muito a vida do desenvolvedor que não precisa se preocupar com estas funcionalidades.

PROGRAMAÇÃO WEB A camada model → responsável por fornecer atributos usados para renderizar os elementos da camada view. Para que uma view acesse corretamente os dados, é preciso haver um mapeamento com o objeto Model. Além disso, o mapeamento de atributos pode ser atrelado com instâncias da camada Model.

PROGRAMAÇÃO WEB ModelMap → é uma classe que também será usada para passar valores a uma view. A vantagem de um ModelMap é que nos dá a habilidade de passar uma coleção de valores e tratar estes valores como se estivessem em um objeto Map. ModelAndView → a última interface que podemo usar para passar valores a uma view. Esta interface permite passar para a view toda a informação necessária em apenas um comando return.

PROGRAMAÇÃO WEB Quando trabalhamos com uma aplicação Restful, uma classe que usamos para passar valores é ResponseEntity → classe genérica usada para manipular transações via HTTP response. Através dessa classe temos os seguintes métodos herdados de httpStatus: OK NO_CONTENT INTERNAL_SERVER_ERROR NOT_FOUND CREATED

PROGRAMAÇÃO WEB H2 Database Engine → é um gerenciador de banco de dados escrito em Java. Por ser mais leve e nativo no Java, ele pode ser embarcado diretamente na aplicação ou configurado para rodar no servidor. H2 permite a criação de tabelas no servidor ou "inmemory" para fins de codificação e testes, desta forma é bastante indicado para uso em ambiente de desenvolvimento.

PROGRAMAÇÃO WEB Para usar o banco H2 no seu projeto: Adicione o pacote do H2 ao projeto através do start.spring.io ou insira a seguinte dependência através do Maven: com.h2database h2

PROGRAMAÇÃO WEB Além disso é preciso configurar o acesso ao banco H2. Dentro de resources do projeto, abra o arquivo application.properties e insira as seguintes linhas: spring.h2.console.enabled=true spring.datasource.platform=h2 spring.h2.console.path=/h2 spring.datasource.url=jdbc:h2:mem:navin spring.datasource.username=sa spring.datasource.password= spring.datasource.driver-class-name=org.h2.Driver

PROGRAMAÇÃO WEB Para acessar o console web do h2, basta abrir o browser e digitar o seguinte local:

http://localhost:8080/h2

PROGRAMAÇÃO WEB

PROGRAMAÇÃO WEB Vamos criar mais um projeto no start.spring.io, conforme a figura:

PROGRAMAÇÃO WEB Após importar o projeto para o STS e configurar o banco de dados, crie os seguintes pacotes: model controller repository Esta será a base para a estrutura que iremos montar e testar nas próximas aulas.

ESTUDO COMPLEMENTAR Para conhecer um pouco mais a respeito dos temas abordados nesta aula, veja os videos: https://www.youtube.com/watch?v=sX85TnoXJ3g https://www.youtube.com/watch?v=1D4mC84U1m8

Obrigado ! Profº Alexandre Braga [email protected]
Programação Web - Aula 05

Related documents

23 Pages • 853 Words • PDF • 5 MB

38 Pages • 10,080 Words • PDF • 510.9 KB

16 Pages • 3,039 Words • PDF • 882.4 KB

42 Pages • 7,500 Words • PDF • 325 KB

14 Pages • 302 Words • PDF • 1020.7 KB

123 Pages • 32,758 Words • PDF • 5.4 MB

9 Pages • 2,895 Words • PDF • 221.3 KB

18 Pages • 2,249 Words • PDF • 1.9 MB

117 Pages • 33,183 Words • PDF • 2 MB

27 Pages • 1,710 Words • PDF • 2.5 MB

125 Pages • 32,186 Words • PDF • 7.6 MB

30 Pages • 3,240 Words • PDF • 1.6 MB