-
Notifications
You must be signed in to change notification settings - Fork 1
05_primeiraentidade
Douglas Fernandes Pereira da Silva Jr edited this page Jan 15, 2020
·
11 revisions
Começamos este passo na branch t02/end
Vamos falar sobre Spring data, e sobre acesso a dados.
Referências:
- Spring Data
- H2 é um in-memory database, vamos utilizar para conseguir fazer os exemplos sem exigir a instalação de um banco de dados específico.
- Configurando dependências no pom.xml. DIFF.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
- Criar a package: com.example.project.domain.entities.
- Dentro da package com.example.project.domain.entities, crie uma nova classe Client. Arquivo final.
- Criar uma nova package: com.example.project.repository.
- Dentro da package criada, criem uma nova interface ClientRepository. Arquivo final.
- Criamos uma interface especifica, que extende as funcionalidades padrões do JPA para a nossa entidade padrão.
- Vamos altear a classe ClientService, para usar nosso repositório de dados. DIFF.
Branch final t02/03.
Para ver as alterações completas DIFF das alterações
Mapeamento manual, não é algo fácil de ser fazer, nem legal. Para isso demos libs como modelMapper.
- Configurando dependências no pom.xml. DIFF.
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.3.0</version>
</dependency>
- Dentro da package com.example.project.configuration, vamos criar uma inicialização para o modelMapper.
- Vamos criar o arquivo MapperConfig Arquivo Final.
- Agora vamos criar o mapper para nossos modelos.
- Criar a package: com.example.demo.domain.mapper.
- Criar a classe ClientMapper Arquivo Final.
- Também vamos criar um Exception, para um alteração que vamos fazer no ClientService.
- Criar a package: com.example.demo.exception.
- Criar a classe DataNotFoundException Arquivo Final.
- Agora vamos alterar nosso codigo para usar as novas funcionalidades.
Branch final t02/03.
Para ver as alterações completas DIFF das alterações
Pequeno Desafio: concluir o nosso end-point REST, adicionar os metodos PUT e DELETE.
Siga para o próximo tópico: 06_databasefirst