commit 10554beb097bad84963eeccd9ffeded0021d4409 Author: Isidoro Nevares Martín Date: Tue Jan 20 22:29:17 2026 +0100 Commit inicial diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..7a9a105 --- /dev/null +++ b/.classpath @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93e00af --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/bin/ +*.class +/target/ diff --git a/.project b/.project new file mode 100644 index 0000000..b7a3d2e --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + aadd_act6_4 + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..29abf99 --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..5e4ec05 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=17 +org.eclipse.jdt.core.compiler.compliance=17 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=17 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..a16cff5 --- /dev/null +++ b/pom.xml @@ -0,0 +1,66 @@ + + 4.0.0 + org.lapaloma.proyectosies + aadd_act6_4 + 0.0.1-SNAPSHOT + SBProyectos_IES + Proyecto Spring Boot Proyectos IES + + + + 17 + + jar + + + + org.springframework.boot + spring-boot-starter-parent + 4.0.1 + + + + + + + + org.springframework.boot + spring-boot-starter + + + + org.springframework.boot + spring-boot-starter-web + + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + + org.postgresql + postgresql + runtime + + + + + org.projectlombok + lombok + + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/src/main/java/org/lapaloma/aadd/api/proyectosies/AppProyectosIES.java b/src/main/java/org/lapaloma/aadd/api/proyectosies/AppProyectosIES.java new file mode 100644 index 0000000..301e637 --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/api/proyectosies/AppProyectosIES.java @@ -0,0 +1,21 @@ +package org.lapaloma.aadd.api.proyectosies; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * + * AppProyectosIES: Clase que realiza .... + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 20 ene 2026 + * + * + */ + +@SpringBootApplication +public class AppProyectosIES { + public static void main(String[] args) { + SpringApplication.run(AppProyectosIES.class, args); + } +} + diff --git a/src/main/java/org/lapaloma/aadd/api/proyectosies/controller/PatrocinadorController.java b/src/main/java/org/lapaloma/aadd/api/proyectosies/controller/PatrocinadorController.java new file mode 100644 index 0000000..0ae31d9 --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/api/proyectosies/controller/PatrocinadorController.java @@ -0,0 +1,46 @@ +package org.lapaloma.aadd.api.proyectosies.controller; + +import java.util.List; + +import org.lapaloma.aadd.api.proyectosies.model.Patrocinador; +import org.lapaloma.aadd.api.proyectosies.repository.IPatrocinadorRepositorio; +import org.springframework.http.HttpStatus; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.server.ResponseStatusException; + +/** + * + * PatrocinadorController: Clase que realiza .... + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 20 ene 2026 + * + * + */ + +@RestController +@RequestMapping("/api/patrocinadores") +public class PatrocinadorController { + private final IPatrocinadorRepositorio repository; + + public PatrocinadorController(IPatrocinadorRepositorio repository) { + this.repository = repository; + } + + @GetMapping + public List listar() { + return repository.findAll(); + } + + @GetMapping("/{id}") + public Patrocinador obtenerPorId(@PathVariable Long id) { + return repository.findById(id) + .orElseThrow(() -> new ResponseStatusException( + HttpStatus.NOT_FOUND, + "Patrocinador no encontrado" + )); + } +} + diff --git a/src/main/java/org/lapaloma/aadd/api/proyectosies/model/Patrocinador.java b/src/main/java/org/lapaloma/aadd/api/proyectosies/model/Patrocinador.java new file mode 100644 index 0000000..055b802 --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/api/proyectosies/model/Patrocinador.java @@ -0,0 +1,38 @@ +package org.lapaloma.aadd.api.proyectosies.model; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Lob; +import jakarta.persistence.Table; +import lombok.Data; + +/** + * + * Patrocinador: Clase que se usa para mapear la tabla de patrocinadoes + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 5 dic 2025 + * + * + */ + +@Data +@Entity +@Table(name="T_PATROCINADOR") +public class Patrocinador { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name="identificador") + private int identificador; + + @Column(name="nombre", length=100, nullable = false, unique = true) + private String nombre; + + @Lob + @Column(name = "imagen") + private byte[] imagenLogo; + +} + diff --git a/src/main/java/org/lapaloma/aadd/api/proyectosies/repository/IPatrocinadorRepositorio.java b/src/main/java/org/lapaloma/aadd/api/proyectosies/repository/IPatrocinadorRepositorio.java new file mode 100644 index 0000000..7748146 --- /dev/null +++ b/src/main/java/org/lapaloma/aadd/api/proyectosies/repository/IPatrocinadorRepositorio.java @@ -0,0 +1,17 @@ +package org.lapaloma.aadd.api.proyectosies.repository; + +import org.lapaloma.aadd.api.proyectosies.model.Patrocinador; +import org.springframework.data.jpa.repository.JpaRepository; + +/** + * + * PatrocinadorRepositorio: Clase que realiza .... + * @author Isidoro Nevares Martín - IES Virgen de la Paloma + * @date 20 ene 2026 + * + * + */ + +public interface IPatrocinadorRepositorio extends JpaRepository { +} + diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..433027a --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1,12 @@ +# Datasource +spring.datasource.url=jdbc:postgresql://192.168.1.36:5432/proyectos_ies +spring.datasource.username=vdlp +spring.datasource.password=postgresql_123 + +# JPA / Hibernate +spring.jpa.hibernate.ddl-auto=update +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true + +# Dialecto (opcional en Spring Boot 3, pero recomendable) +spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect