Giter VIP home page Giter VIP logo

spring-project's Introduction

DevSuperior logo 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

DevSuperior no Instagram DevSuperior no Youtube

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

Desenvolvimento moderno: relacional -> objeto -> json

Image

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

<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>3.1.0</version>
</plugin>

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

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 Postman

https://www.getpostman.com/collections/ac4a49113c4024e47d4f

spring-project's People

Contributors

gahbr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.