1
resposta

Desafio: Persistindo os dados da série

package com.example.demo.modelo;

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 com.example.demo.modelo;

import jakarta.persistence.*;

@Entity
public class Categoria {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String nome;

    public Categoria() {
    }

    public Categoria(String nome) {
        this.nome = nome;
    }

    public Long getId() {
        return id;
    }

    public String getNome() {
        return nome;
    }
}

package com.example.demo.modelo;

import jakarta.persistence.*;
import java.time.LocalDate;

@Entity
public class Pedido {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private LocalDate data;

    public Pedido() {
    }

    public Pedido(LocalDate data) {
        this.data = data;
    }

    public Long getId() {
        return id;
    }

    public LocalDate getData() {
        return data;
    }
}


spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/seubanco
spring.datasource.username=root
spring.datasource.password=sua_senha
spring.jpa.show-sql=true


package com.example.demo.repositorio;

import com.example.demo.modelo.Produto;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ProdutoRepository extends JpaRepository<Produto, Long> {
}



package com.example.demo;

import com.example.demo.modelo.Categoria;
import com.example.demo.modelo.Pedido;
import com.example.demo.modelo.Produto;
import com.example.demo.repositorio.CategoriaRepository;
import com.example.demo.repositorio.PedidoRepository;
import com.example.demo.repositorio.ProdutoRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

import java.time.LocalDate;

@Component
public class Inicializador implements CommandLineRunner {

    private final ProdutoRepository produtoRepo;
    private final CategoriaRepository categoriaRepo;
    private final PedidoRepository pedidoRepo;

    public Inicializador(ProdutoRepository produtoRepo, CategoriaRepository categoriaRepo, PedidoRepository pedidoRepo) {
        this.produtoRepo = produtoRepo;
        this.categoriaRepo = categoriaRepo;
        this.pedidoRepo = pedidoRepo;
    }

    @Override
    public void run(String... args) throws Exception {
        Produto produto = new Produto("Celular", 1200.00);
        Categoria categoria = new Categoria("Eletrônicos");
        Pedido pedido = new Pedido(LocalDate.now());

        produtoRepo.save(produto);
        categoriaRepo.save(categoria);
        pedidoRepo.save(pedido);

        System.out.println("Dados salvos com sucesso!");
    }
}


<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
</dependency>
1 resposta

Bom dia, Gabrielly!

Parabéns! Está muito bem escrito!