¿Cómo implementar el mapeo de uno a muchos en Spring Boot?

Spring Boot está construido en la parte superior del resorte y contiene todas las características del resorte. Spring también proporciona JPA e hibernate para aumentar la eficiencia de manipulación de datos entre la aplicación Spring y la base de datos. En términos muy simples, podemos decir que JPA (API de persistencia de Java) es como una interfaz y la hibernación es la implementación de los métodos de la interfaz. La forma en que se desactivará la inserción ya está definida con la ayuda de la hibernación. En este artículo, discutiremos cómo insertar los valores en la tabla MySQL usando Spring JPA. Spring Initializr es una herramienta basada en la web con la que podemos generar fácilmente la estructura del proyecto Spring Boot. También proporciona varias características diferentes para los proyectos expresados ​​en un modelo de metadatos. Este modelo nos permite configurar la lista de dependencias que admite JVM. Aquí,

Implementación paso a paso

Paso 1: Ve a este enlace . Complete los detalles según los requisitos. Para esta aplicación:

Project: Maven
Language: Java
Spring Boot: 2.5.6
Packaging: JAR
Java: 11
Dependencies: Spring Web,Spring Data JPA, MySql Driver

Haga clic en Generar, que descargará el proyecto inicial.

Paso 2: extraiga el archivo zip. Ahora abra un IDE adecuado y luego vaya a Archivo > Nuevo > Proyecto de fuentes existentes > Spring-boot-app y seleccione pom.xml. Haga clic en importar cambios en el aviso y espere a que el proyecto se sincronice como se muestra a continuación:

Estructura del proyecto:

Paso 3: Agregar las propiedades necesarias en el archivo application.properties. (mapeo es el nombre de la base de datos)

spring.datasource.username=root
spring.datasource.password=Aayush
spring.datasource.url=jdbc:mysql://localhost:3306/mapping
spring.jpa.hibernate.ddl-auto=update

Paso 4 : Vaya a src->main->java->com->example->Mapping y cree dos archivos en la carpeta Models, es decir , Address.java e Student Information.java.

Estructura del proyecto:

Address.java (tabla asignada)

Java

package com.example.Mapping.Models;
 
import javax.persistence.*;
 
@Entity
// Adding the table name
@Table(name = "Address")
public class Address {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String cityname;
   
    // Mapping the column of this table
    @ManyToOne
    //Adding the name
    @JoinColumn(name = "Student_id")
    StudentInformation ob;
 
    Address() {}
 
    public Address(int id, String cityname, StudentInformation ob1)
    {
        this.id = id;
        this.cityname = cityname;
        this.ob = ob1;
    }
}

StudentInformation.java (Asignado por tabla)

Java

@Entity
// Adding the table name
@Table(name = "Student")
public class StudentInformation {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int rollno;
    private String name;
   
    // Mapping to the other table
    @OneToMany(cascade = CascadeType.ALL)
    private Set<Address> ob;
    public int getRollno() { return rollno; }
 
    public StudentInformation() {}
 
    public StudentInformation(int rollno, String name)
    {
        this.rollno = rollno;
        this.name = name;
    }
 
    public void setRollno(int rollno)
    {
 
        this.rollno = rollno;
    }
 
    public String getName() { return name; }
 
    public void setName(String name) { this.name = name; }
}

Paso 5 : Agregar el repositorio JPA de ambas clases en la estructura del proyecto:

Estructura del proyecto:

DirecciónRepo:

Java

package com.example.Mapping.Repository;
 
import com.example.Mapping.Models.Address;
import org.springframework.data.jpa.repository.JpaRepository;
 
public interface AddressRepo extends JpaRepository<Address, Integer> {
 
}

StudentRepo:

Java

package com.example.Mapping.Repository;
 
import com.example.Mapping.Models.StudentInformation;
import org.springframework.data.jpa.repository.JpaRepository;
 
public interface StudentRepo extends JpaRepository<StudentInformation, Integer> {
}

Paso 6: Ejecutando la información en estas tablas

Aplicación de mapeo:

Java

@SpringBootApplication
public class MappingApplication implements CommandLineRunner {
 
    @Autowired StudentRepo ob;
    @Autowired AddressRepo ob1;
    public static void main(String[] args)
    {
        SpringApplication.run(MappingApplication.class, args);
    }
 
    @Override
    public void run(String... args) throws Exception
    {
        StudentInformation student = new StudentInformation(1, "Aayush");
        ob.save(student);
        Address address = new Address(1, "Sonipat", student);
        ob1.save(address);
    }
}

Ahora ejecuta la aplicación principal

Salida terminal:

StudentTable:

Dirección.java

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *