Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gahbr/spring-project
Projeto Java spring
https://github.com/gahbr/spring-project
java jpa spring spring-boot study-project
Last synced: 10 days ago
JSON representation
Projeto Java spring
- Host: GitHub
- URL: https://github.com/gahbr/spring-project
- Owner: Gahbr
- Created: 2022-06-21T17:02:33.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-06-21T17:03:39.000Z (over 2 years ago)
- Last Synced: 2023-03-05T07:37:40.930Z (over 1 year ago)
- Topics: java, jpa, spring, spring-boot, study-project
- Language: Java
- Homepage:
- Size: 60.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ![DevSuperior logo](https://raw.githubusercontent.com/devsuperior/bds-assets/main/ds/devsuperior-logo-small.png) Seu primeiro projeto Java Web no Spring Boot 2022
> Veja como é simples construir uma API REST com banco de dados usando Java e Spring Boot## Realização
[DevSuperior - Escola de programação](https://devsuperior.com.br)[![DevSuperior no Instagram](https://raw.githubusercontent.com/devsuperior/bds-assets/main/ds/ig-icon.png)](https://instagram.com/devsuperior.ig)
[![DevSuperior no Youtube](https://raw.githubusercontent.com/devsuperior/bds-assets/main/ds/yt-icon.png)](https://youtube.com/devsuperior)### Pré-requisitos
- Lógica de programação (qualquer linguagem)
- Programação orientada a objetos (qualquer linguagem)
- Ferramentas
- Spring Tool Suite (STS)
- Postman### Objetivos da aula
- Resgatar fundamentos de programação
- Colocar em prática esses fundamentos
- Criar um pequeno sistema com ferramentas e práticas de mercado
- Dar mais um passo em direção à preparação para o mercado### Visão geral do sistema
Vamos construir um pequeno sistema (API REST) de usuários e departamentos, com os seguintes casos de uso:
- Buscar todos usuários
- Buscar um usuário pelo seu id
- Inserir um novo usuário![Image](https://raw.githubusercontent.com/devsuperior/java-web-spring-2022/main/img/dominio.png "Modelo conceitual")
### Desenvolvimento moderno: relacional -> objeto -> json
![Image](https://raw.githubusercontent.com/devsuperior/java-web-spring-2022/main/img/objetos.png "Objetos")
### Passos da aula
- Criar o projeto
- Implementar o modelo de domínio
- Mapeamento objeto-relacional com JPA
- Configurar o banco de dados H2
- Criar os endpoints da API REST### Trechos de código para copiar
#### Configuração do Maven Resources Plugin
```xml
org.apache.maven.plugins
maven-resources-plugin
3.1.0```
#### Configurações do banco de dados
```
# Dados de conexão com o banco H2
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=# Configuração do cliente web do banco H2
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console# Configuração para mostrar o SQL no console
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
```#### Script SQL
```sql
INSERT INTO tb_department(name) VALUES ('Gestão');
INSERT INTO tb_department(name) VALUES ('Informática');INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Maria', '[email protected]');
INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Bob', '[email protected]');
INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Alex', '[email protected]');
INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Ana', '[email protected]');
```
#### Collection Postmanhttps://www.getpostman.com/collections/ac4a49113c4024e47d4f