Nesse projeto estou refazendo o projeto que executei quando fiz o Bootcamp da Generation há um ano atrás. Decidi implementar usando imagem de mysql do Docker e atualizei as versões de Security, assim como do SpringBoot.
Java
Personagens Senhor dos Anéis
Projeto em Java com Spring e Maven.
Java 17
Spring 3.2.0
Docker Compose
Postgre
Dbeaver
Git e Github
Teste Unitário
Teste Integrado
Dependências iniciais:
Spring Web,
Spring Boot Dev Tools,
Lombok,
Spring Data JPA,
Validation
Postgre Sql
Docker Compose
A configuração do Banco de dados será implementada no arquivo application.properties,
localizado na Source Folder src/main/resources
Neste projeto utilizei o Intellij ultimate por ter licença gratuita para estudante
Criaçao da classe Personagens, PersonagensRepository e PersonagensController
Com o projeto em execução, inseri valores na tabela Categoria pelo DBeaver:
Relacionamento de Classes
Mapeamento Objeto-Relacional (ORM) é o processo de conversão de Objetos Java em Tabelas (Entidades) de Banco de dados. Em outras palavras, isso nos permite interagir com um Banco de
dados Relacional sem nenhum código SQL. A Java Persistence API (JPA) é uma especificação que define como persistir dados em aplicativos Java.
O foco principal do JPA é a camada ORM.
O JPA simplifica o tratamento do modelo de Banco de dados Relacional nos aplicativos Java quando mapeamos cada Tabela para uma única Classe de entidade (Model). No SQL, precisamos criar Relacionamentos entre as tabelas, no JPA também.
o Relacionamento Bidirecional (1:N) entre as Classes Personagens e Categorias
A Classe Personagens será o lado N:1, ou seja, Muitos Personagens podem ter apenas Uma Categoria.
Tipos de Cascade - Utilizei o ALL
Testes no Insomnia dos verbos HTTP:
O relacionamento entre as classes visto no GET:
Adiçao do framework Security
Criaçao das Classes Usuario, UsuarioLogin, UsuarioRepository