본문 바로가기

JPA

(3)
[스프링부트 게시판] 11. JPA DELETE 이번 게시글에서는 DELETE 작업을 수행하도록 하겠습니다. 전에 INSERT, SELECT, UPDATE로 사용한 사용자(User) 데이터베이스의 현재 상태입니다. 사용자 삭제를 위한 DELETE 작업을 위해 UserController 클래스에 다음과 같은 함수를 추가하였습니다. [UserController] @DeleteMapping("/user/{id}") public String delete(@PathVariable Long id) { try { userRepository.deleteById(id); } catch (EmptyResultDataAccessException e) { return "삭제에 실패하였습니다. 해당 id는 DB에 존재하지 않습니다."; } return "삭제가 완료되었습니다..
[스프링부트 게시판] 10. JPA UPDATE 이번 게시글에서는 데이터를 전달 받아 해당 사용자의 정보를 수정하는 UPDATE 작업을 수행하도록 하겠습니다. 우선 UserController 클래스에 다음과 같이 함수를 구현하였습니다. [UserController] @PutMapping("/user/{id}") public void update(@PathVariable Long id, @RequestBody User requestUser) { User user = userRepository.findById(id).orElseThrow(() -> { // IllegalArgumentException 예외 처리 throw new IllegalArgumentException("해당하는 아이디가 없습니다 id : " + id); }); user.setPass..
[스프링부트 게시판] 9. JPA SELECT 이번 게시글에서는 데이터베이스에 들어있는 데이터에 대해 확인을 하는 SELECT 작업을 수행하도록 하겠습니다. 먼저 5개의 사용자를 추가하도록 이전 post를 통한 회원가입을 진행하도록 하겠습니다. 이후 이전 시간에 생성시켰던 UserController 클래스에서 SELECT를 확인 할 수 있는 코드를 추가하도록 하겠습니다. 여기서 '{ }'와 @PathVariable 어노테이션은 주소를 통한 파라미터를 전달받기 위해 사용하였습니다. 위와 같은 주소의 예시로 /toy/user/1 이렇게 작성을 해야하는데 실수로 {id}에 해당하는 값이 없어 널(null)값이 될 수도 있습니다. 이러한 변수가 들어가 문제가 발생하는 경우가 있습니다. 여기서 JpaRepository 클래스에서 데이터를 가져올 때, 예외를 ..