https://github.com/gahbr/spring-project
Projeto Java spring
https://github.com/gahbr/spring-project
java jpa spring spring-boot study-project
Last synced: about 2 months ago
JSON representation
Projeto Java spring
- Host: GitHub
- URL: https://github.com/gahbr/spring-project
- Owner: Gahbr
- Created: 2022-06-21T17:02:33.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-06-21T17:03:39.000Z (about 4 years ago)
- Last Synced: 2025-05-21T13:56:30.106Z (about 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
#  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)
[](https://instagram.com/devsuperior.ig)
[](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

### Desenvolvimento moderno: relacional -> objeto -> json

### 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', 'maria@gmail.com');
INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Bob', 'bob@gmail.com');
INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Alex', 'alex@gmail.com');
INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Ana', 'ana@gmail.com');
```
#### Collection Postman
https://www.getpostman.com/collections/ac4a49113c4024e47d4f