package br.com.alura.gerenciador_pedidos.model;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
@Entity
public class Categoria {
@Id
private Long id;
private String nome;
public Categoria() {
}
public Categoria(Long id, String nome) {
this.id = id;
this.nome = nome;
}
public Long getId() {
return id;
}
public String getNome() {
return nome;
}
}
package br.com.alura.gerenciador_pedidos.model;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import java.time.LocalDate;
@Entity
public class Pedido {
@Id
private Long id;
private LocalDate data;
public Pedido() {
}
public Pedido(Long id, LocalDate data) {
this.id = id;
this.data = data;
}
public Long getId() {
return id;
}
public LocalDate getData() {
return data;
}
}
package br.com.alura.gerenciador_pedidos.model;
import jakarta.persistence.*;
@Entity
public class Produto {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false, unique = true)
private String nome;
@Column(name = "valor")
private Double preco;
public Produto() {
}
public Produto(String nome, Double preco) {
this.nome = nome;
this.preco = preco;
}
public Long getId() {
return id;
}
public String getNome() {
return nome;
}
public Double getPreco() {
return preco;
}
}
package br.com.alura.gerenciador_pedidos.principal;
import br.com.alura.gerenciador_pedidos.model.Categoria;
import br.com.alura.gerenciador_pedidos.model.Pedido;
import br.com.alura.gerenciador_pedidos.model.Produto;
import br.com.alura.gerenciador_pedidos.repository.CategoriaRepository;
import br.com.alura.gerenciador_pedidos.repository.PedidoRepository;
import br.com.alura.gerenciador_pedidos.repository.ProdutoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@Service
public class Principal {
@Autowired
private ProdutoRepository produtoRepository;
@Autowired
private CategoriaRepository categoriaRepository;
@Autowired
private PedidoRepository pedidoRepository;
public Principal() {
}
public Principal(ProdutoRepository produtoRepository, CategoriaRepository categoriaRepository, PedidoRepository pedidoRepository) {
this.produtoRepository = produtoRepository;
this.categoriaRepository = categoriaRepository;
this.pedidoRepository = pedidoRepository;
}
public void setarValores() {
Produto produto = new Produto("Xbox", 2800.0);
Categoria categoria = new Categoria(3L, "Games");
Pedido pedido = new Pedido(3L, LocalDate.now());
produtoRepository.save(produto);
categoriaRepository.save(categoria);
pedidoRepository.save(pedido);
}
}
package br.com.alura.gerenciador_pedidos.repository;
import br.com.alura.gerenciador_pedidos.model.Categoria;
import org.springframework.data.jpa.repository.JpaRepository;
public interface CategoriaRepository extends JpaRepository<Categoria, Long> {
}
package br.com.alura.gerenciador_pedidos.repository;
import br.com.alura.gerenciador_pedidos.model.Pedido;
import org.springframework.data.jpa.repository.JpaRepository;
public interface PedidoRepository extends JpaRepository<Pedido, Long> {
}
package br.com.alura.gerenciador_pedidos.repository;
import br.com.alura.gerenciador_pedidos.model.Produto;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProdutoRepository extends JpaRepository<Produto, Long> {
}
spring.datasource.url=jdbc:postgresql://${DB_HOST}/gerenciador-pedidos
spring.datasource.username=${DB_USER}
spring.datasource.password=${DB_PASSWORD}
spring.datasource.driver-class-name=org.postgresql.Driver
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update