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>