diff --git a/src/main/java/es/fp/edu/conecta2/controladores/WebControlador.java b/src/main/java/es/fp/edu/conecta2/controladores/WebControlador.java index 85fc4ca..9f60d1c 100644 --- a/src/main/java/es/fp/edu/conecta2/controladores/WebControlador.java +++ b/src/main/java/es/fp/edu/conecta2/controladores/WebControlador.java @@ -34,6 +34,22 @@ public class WebControlador { return "redirect:/"; } + @GetMapping ("/editar/{1}") + public String editarUser(@PathVariable Integer id, Model modelo){ + + modelo.addAttribute("user", + servicioUser.buscarId(id).get()); + return "editar_usuario"; + } + + @PostMapping ("/actualizar") + public String actualizaUser(@ModelAttribute("user") User usuario){ + servicioUser.guardarId(usuario); + + return "redirect:/"; + } + + @GetMapping ("/borrar") public String borrarUser(Model modelo){ modelo.addAttribute("user",servicioUser.listarUser()); diff --git a/src/main/java/es/fp/edu/conecta2/repo/user/IUserRepo.java b/src/main/java/es/fp/edu/conecta2/repo/user/IUserRepo.java index 2110242..ac48fbd 100644 --- a/src/main/java/es/fp/edu/conecta2/repo/user/IUserRepo.java +++ b/src/main/java/es/fp/edu/conecta2/repo/user/IUserRepo.java @@ -2,8 +2,15 @@ package es.fp.edu.conecta2.repo.user; import es.fp.edu.conecta2.modelo.user.User; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; +import org.springframework.transaction.annotation.Transactional; @Repository public interface IUserRepo extends JpaRepository { + @Transactional + @Modifying + @Query("update User u set u.idUsuario = ?1, u.nombres = ?2") + int actualizaId(Integer idUsuario, String nombres); } diff --git a/src/main/java/es/fp/edu/conecta2/servicios/UserService.java b/src/main/java/es/fp/edu/conecta2/servicios/UserService.java index 11b4a6c..bd108aa 100644 --- a/src/main/java/es/fp/edu/conecta2/servicios/UserService.java +++ b/src/main/java/es/fp/edu/conecta2/servicios/UserService.java @@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Optional; @Service public class UserService { @@ -18,8 +19,18 @@ public class UserService { } public List listarUser(){ - return repo.findAll(); + + return repo.findAll(); + } + + + public Optional buscarId(Integer id){ + return Optional.of(repo.findById(id).get()); } + + public void guardarId(User t) { + repo.actualizaId(t.getIdUsuario(),t.getNombres()); + } } diff --git a/src/main/resources/templates/editar_usuario.html b/src/main/resources/templates/editar_usuario.html new file mode 100644 index 0000000..dd82226 --- /dev/null +++ b/src/main/resources/templates/editar_usuario.html @@ -0,0 +1,42 @@ + + + + + +
+
+
+

Editaro usuario

+

Ejemplo de CRUD

+ Código fuente +
+
+ +
+
+
+ + + + + + + + + + + + +
#idUsuarioNombres
+
+
+
+ + + + + + + \ No newline at end of file