Spring Data NO es una implementacion de JPA, sino mas bien es un proyecto que usa JPA para ofrecer funcionalidaes extra en la gestion de tareas desde JAVA a las base de datos.
Spring Data internamente tiene varios subproyectos, entre ellos: Spring Data JPA y Spring Data JDBC, para conectarnos a BD relacionales (SQL). Spring Data MongoDB y Spring Data Cassandra, son proyectos para conectarnos a BD no relacionales.
La tarea principal de Spring Data es optimizar tareas repitivas.
Spring data nos provee de respositorios sin codigo, nos permiten hacer todo tipo de operaciones en BD (CRUD) sin utilizar una linea de código.
También nos provee de auditorías transparentes, por ello, posee un motor de auditorias que nos permite saber cuando se insertó un registro, cuando se borró, cuando se actualizo en la BD, etc.
Implementación en el proyecto Market: Maven Repository: Search/Browse/Explore
Se busca en MAVEN el repositorio Spring Boot Starter Data JPA, se copia el group y el name en las dependencias del archivo build.gradle de nuestro proyecto quedando de la siguiente manera.
dependencies {
//Dependencia agregada
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
Si hasta aqui ejecutas te dará error y es normal.
Ahora crea tu BD, tablas y registros, cuando lo tengas listo contniuamos añadiendo una depedencia que solo sera usada en tiempo de ejecución:
runtimeOnly("org.postgresql:postgresql")
Debe quedar asi el gradle completo:
plugins {
java
id("org.springframework.boot") version "3.4.1"
id("io.spring.dependency-management") version "1.1.7"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-web")
runtimeOnly("org.postgresql:postgresql")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
tasks.withType<Test> {
useJUnitPlatform()
}
Por último en los Resources crea un archivo de propieties que contenga la configuración de conexión:
#Databaseserver.port = 8090
spring.datasource.url=jdbc:postgresql://localhost:5432/market
spring.datasource.username=postgres
spring.datasource.password=admin
spring.datasource.driver-class-name=org.postgresql.Driver
Ahora ya puedes mapear tus tablas y comenzar tu API....
Comentarios
Publicar un comentario