package br.com.gerenciador.pedidos.model;
import jakarta.persistence.*;
@Entity
public class Produto {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(unique = true, nullable = false)
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.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.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.gerenciador.pedidos.repositorio;
import br.com.gerenciador.pedidos.model.Pedido;
import br.com.gerenciador.pedidos.model.Produto;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ProdutoRepositorio extends JpaRepository<Produto, Long> {}
package br.com.gerenciador.pedidos.repositorio;
import br.com.gerenciador.pedidos.model.Categoria;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface CategoriaRepositorio extends JpaRepository<Categoria, Long> {}
package br.com.gerenciador.pedidos.repositorio;
import br.com.gerenciador.pedidos.model.Pedido;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface PedidoRepositorio extends JpaRepository<Pedido, Long> {}
package br.com.gerenciador.pedidos.main;
import br.com.gerenciador.pedidos.model.Categoria;
import br.com.gerenciador.pedidos.model.Pedido;
import br.com.gerenciador.pedidos.model.Produto;
import br.com.gerenciador.pedidos.repositorio.CategoriaRepositorio;
import br.com.gerenciador.pedidos.repositorio.PedidoRepositorio;
import br.com.gerenciador.pedidos.repositorio.ProdutoRepositorio;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
@Component
public class Principal {
private PedidoRepositorio pedidoRepositorio;
private CategoriaRepositorio categoriaRepositorio;
private ProdutoRepositorio produtoRepositorio;
public Principal(PedidoRepositorio pedidoRepositorio, CategoriaRepositorio categoriaRepositorio, ProdutoRepositorio produtoRepositorio) {
this.pedidoRepositorio = pedidoRepositorio;
this.categoriaRepositorio = categoriaRepositorio;
this.produtoRepositorio = produtoRepositorio;
}
Produto produto = new Produto("Notebook", 3500.0);
Categoria categoria = new Categoria(1L, "Eletrônicos");
Pedido pedido = new Pedido(1L, LocalDate.now());
public void salvar() {
produtoRepositorio.save(produto);
categoriaRepositorio.save(categoria);
pedidoRepositorio.save(pedido);
}
}
package br.com.gerenciador.pedidos;
import br.com.gerenciador.pedidos.main.Principal;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class PedidosApplication implements CommandLineRunner {
@Autowired
private Principal principal;
public static void main(String[] args) {
SpringApplication.run(PedidosApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
principal.salvar();
}
}