3. Procesamiento de datos: Spring Combat 5th Edition


Este capítulo incluye:

  • Utilice la plantilla JdbcTemplate de spring;
  • Use SimpleJdbcTemplate para insertar datos;
  • Declarar repositorios JPA con datos de primavera.

2. Datos de primavera

El proyecto Spring Data incluye los siguientes proyectos:

  • datos de primavera JPA, esto es para la base de datos relacional;
  • datos de primavera MongoDB, esto es para la base de datos de documentos Mongo;
  • datos de primavera Neo4j, esto es para la base de datos de gráficos Neo4j;
  • datos de primavera Cassandra, esto es para la base de datos Cassandra.

2.1 Agregar datos de primavera JPA al proyecto

Agregue las siguientes dependencias:

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

El valor predeterminado es Hibernate. Si necesita cambiar a otras implementaciones, puede hacer lo siguiente:

	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-data-jpa</artifactId>
		<exclusions>
			<exclusion>
				<artifactId>hibernate-entitymanager</artifactId>
				<groupId>org.hibernate</groupId>
			</exclusion>
		</exclusions>
	</dependency>
	<dependency>
		<groupId>org.eclipse.persistence</groupId>
		<artifactId>eclipselink</artifactId>
		<version>2.5.2</version>
	</dependency>

2.2 Declaración de entidades

package tacos;
import javax.persistence.Entity;
import javax.persistence.Id;
import lombok.AccessLevel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.RequiredArgsConstructor;

@Data
@RequiredArgsConstructor
@NoArgsConstructor(access=AccessLevel.PRIVATE, force=true)
@Entity
public class Ingredient {
  
  @Id
  private final String id;
  private final String name;
  private final Type type;
  
  public static enum Type {
    WRAP, PROTEIN, VEGGIES, CHEESE, SAUCE
  }

}

Agregue @Entity y @Id.
Anotación @NoArgsConstructor, JPA requiere un constructor sin parámetros, ya que no desea utilizar el método secundario, por lo que debe establecerse en privado.

2.3 Declarar repositorios JPA

Simplemente herede CrudRepository.

package tacos.data;

import org.springframework.data.repository.CrudRepository;

import tacos.Ingredient;

public interface IngredientRepository extends CrudRepository<Ingredient, String> {

}

2.4 repositorios JPA personalizados

Ejemplos:

List<Order> findByDeliveryZip(String deliveryZip);

Spring Data utiliza un mecanismo de lenguaje específico de dominio (DSL) para resolver las firmas de métodos.

List<Order> readOrdersByDeliveryZipAndPlacedAtBetween(
String deliveryZip, Date startDate, Date endDate);

Inserte la descripción de la imagen aquí
También están los siguientes ejemplos:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
complex puede usar @Query:

@Query("Order o where o.deliveryCity='Seattle'")
List<Order> readOrdersDeliveredInSeattle();
97 artículos originales publicados · elogiados 3 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/qq_39530821/article/details/103788788
Recomendado
Clasificación