From 4e34f26095cf99773d1b0472f7e90420c26b457e Mon Sep 17 00:00:00 2001 From: tomivillarreal <> Date: Tue, 22 Oct 2024 11:24:04 -0300 Subject: [PATCH 1/3] Add Cliente Model Add Cliente Repository Add Cliente Service Add Cliente Controller (Incomplete) --- .../Controller/ClienteController.java | 5 ++++ .../project/management/Model/Cliente.java | 22 ++++++++++++++ .../Repository/ClienteRepository.java | 12 ++++++++ .../management/Service/ClienteService.java | 29 +++++++++++++++++++ .../management/Service/IClienteService.java | 15 ++++++++++ 5 files changed, 83 insertions(+) create mode 100644 src/main/java/com/example/project/management/Controller/ClienteController.java create mode 100644 src/main/java/com/example/project/management/Model/Cliente.java create mode 100644 src/main/java/com/example/project/management/Repository/ClienteRepository.java create mode 100644 src/main/java/com/example/project/management/Service/ClienteService.java create mode 100644 src/main/java/com/example/project/management/Service/IClienteService.java diff --git a/src/main/java/com/example/project/management/Controller/ClienteController.java b/src/main/java/com/example/project/management/Controller/ClienteController.java new file mode 100644 index 0000000..c4657ae --- /dev/null +++ b/src/main/java/com/example/project/management/Controller/ClienteController.java @@ -0,0 +1,5 @@ +package com.example.project.management.Controller; + +public class ClienteController { + +} diff --git a/src/main/java/com/example/project/management/Model/Cliente.java b/src/main/java/com/example/project/management/Model/Cliente.java new file mode 100644 index 0000000..f54faa0 --- /dev/null +++ b/src/main/java/com/example/project/management/Model/Cliente.java @@ -0,0 +1,22 @@ +package com.example.project.management.Model; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.Data; +import lombok.ToString; + +@Entity +@Data +@ToString +public class Cliente { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + private String nombre; + private String direccion; + private String contacto; + private String detalle; + +} diff --git a/src/main/java/com/example/project/management/Repository/ClienteRepository.java b/src/main/java/com/example/project/management/Repository/ClienteRepository.java new file mode 100644 index 0000000..a10bb23 --- /dev/null +++ b/src/main/java/com/example/project/management/Repository/ClienteRepository.java @@ -0,0 +1,12 @@ +package com.example.project.management.Repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.example.project.management.Model.Cliente; + +public interface ClienteRepository extends JpaRepository { + + + + +} diff --git a/src/main/java/com/example/project/management/Service/ClienteService.java b/src/main/java/com/example/project/management/Service/ClienteService.java new file mode 100644 index 0000000..fa649f3 --- /dev/null +++ b/src/main/java/com/example/project/management/Service/ClienteService.java @@ -0,0 +1,29 @@ +package com.example.project.management.Service; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.example.project.management.Model.Cliente; +import com.example.project.management.Repository.ClienteRepository; + +@Service +public class ClienteService { + @Autowired + private ClienteRepository clienteRepository; + + public List getAll() { + return clienteRepository.findAll(); + } + + public Cliente getById(Integer id) { + return clienteRepository.findById(id).get(); + } + + public Cliente save(Cliente cliente) { + return clienteRepository.save(cliente); + } + + +} diff --git a/src/main/java/com/example/project/management/Service/IClienteService.java b/src/main/java/com/example/project/management/Service/IClienteService.java new file mode 100644 index 0000000..0a90196 --- /dev/null +++ b/src/main/java/com/example/project/management/Service/IClienteService.java @@ -0,0 +1,15 @@ +package com.example.project.management.Service; + +import java.util.List; + +import com.example.project.management.Model.Cliente; + +public interface IClienteService { + + public List getAll(); + + public Cliente getById(Integer id); + + public Cliente save(Cliente cliente); + +} From d6f06070d779727e7c704b9450fbbadf43422df1 Mon Sep 17 00:00:00 2001 From: Bruno Griffone Date: Wed, 23 Oct 2024 13:43:41 -0300 Subject: [PATCH 2/3] basic controller and db config --- pom.xml | 6 ++- .../Controller/ClienteController.java | 43 ++++++++++++++++++- src/main/resources/application.properties | 9 ++++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ad485bc..0f1c9fb 100644 --- a/pom.xml +++ b/pom.xml @@ -38,7 +38,11 @@ org.springframework.boot spring-boot-starter-web - + + org.postgresql + postgresql + runtime + com.mysql mysql-connector-j diff --git a/src/main/java/com/example/project/management/Controller/ClienteController.java b/src/main/java/com/example/project/management/Controller/ClienteController.java index c4657ae..99196df 100644 --- a/src/main/java/com/example/project/management/Controller/ClienteController.java +++ b/src/main/java/com/example/project/management/Controller/ClienteController.java @@ -1,5 +1,46 @@ package com.example.project.management.Controller; +import com.example.project.management.Model.Cliente; +import com.example.project.management.Service.ClienteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import java.util.List; + +@RestController +@RequestMapping("/clientes") public class ClienteController { - + @Autowired + private ClienteService clienteService; + + // Obtener todos los clientes + @GetMapping + public ResponseEntity> getAll() { + return ResponseEntity.ok(clienteService.getAll()); + } + + // Obtener un cliente por id + @GetMapping("/{id}") + public ResponseEntity getById(Integer id) { + return ResponseEntity.ok(clienteService.getById(id)); + } + + // Crear un nuevo cliente + @PostMapping + public ResponseEntity save(@RequestBody Cliente cliente) { + return ResponseEntity.ok(clienteService.save(cliente)); + } + +// // Actualizar un cliente +// @PutMapping("/{id}") +// public ResponseEntity update(Integer id, Cliente cliente) { +// return ResponseEntity.ok(clienteService.update(id, cliente)); +// } +// +// // Eliminar un cliente +// @DeleteMapping("/{id}") +// public ResponseEntity delete(Integer id) { +// clienteService.delete(id); +// return ResponseEntity.ok().build(); +// } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 516d34b..e7b6d95 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,10 @@ spring.application.name=project.management + +spring.datasource.url=jdbc:postgresql://localhost:5432/clientes_db +spring.datasource.username=postgres +spring.datasource.password=root +spring.datasource.driver-class-name=org.postgresql.Driver + +spring.jpa.hibernate.ddl-auto=update +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect +spring.jpa.show-sql=true \ No newline at end of file From 98fe5bfcf9395ba16d4fb64a982107d4bad859bf Mon Sep 17 00:00:00 2001 From: tomivillarreal <> Date: Wed, 23 Oct 2024 16:42:06 -0300 Subject: [PATCH 3/3] IClienteRepository interface implementation and whitespace removal --- .../project/management/Repository/ClienteRepository.java | 7 +------ .../example/project/management/Service/ClienteService.java | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/example/project/management/Repository/ClienteRepository.java b/src/main/java/com/example/project/management/Repository/ClienteRepository.java index a10bb23..8cfeae6 100644 --- a/src/main/java/com/example/project/management/Repository/ClienteRepository.java +++ b/src/main/java/com/example/project/management/Repository/ClienteRepository.java @@ -4,9 +4,4 @@ import com.example.project.management.Model.Cliente; -public interface ClienteRepository extends JpaRepository { - - - - -} +public interface ClienteRepository extends JpaRepository {} diff --git a/src/main/java/com/example/project/management/Service/ClienteService.java b/src/main/java/com/example/project/management/Service/ClienteService.java index fa649f3..06e6b0c 100644 --- a/src/main/java/com/example/project/management/Service/ClienteService.java +++ b/src/main/java/com/example/project/management/Service/ClienteService.java @@ -9,7 +9,7 @@ import com.example.project.management.Repository.ClienteRepository; @Service -public class ClienteService { +public class ClienteService implements IClienteService{ @Autowired private ClienteRepository clienteRepository;