[SpringBoot] JpaRepository save, findAll, findById, delete 기능
JpaRepository 주요 기능
1. save
개념
- 객체를 데이터베이스에 저장하거나, 이미 존재하는 엔티티 객체를 업데이트하는 데 사용됩니다.
용도
- 새로운 엔티티를 데이터베이스에 등록할 때
- 이미 존재하는 엔티티를 수정할 때
사용 방법
@PostMapping("/posts")
public Post createOrUpdatePost(@RequestBody Post post) {
return postRepository.save(post);
}
2. findAll
개념
- 데이터베이스에 저장된 모든 엔티티 객체를 조회합니다.
용도
- 데이터베이스에 있는 모든 레코드를 가져올 때
사용 방법
@GetMapping("/posts")
public List<Post> getAllPosts() {
return postRepository.findAll();
}
3. findById
개념
- 주어진 ID로 데이터베이스에서 특정 엔티티 객체를 조회합니다.
용도
- 특정 레코드를 ID로 조회할 때
사용 방법
@GetMapping("/posts/{id}")
public ResponseEntity<Post> getPostById(@PathVariable Long id) {
Optional<Post> post = postRepository.findById(id);
return post.map(ResponseEntity::ok)
.orElseGet(() -> ResponseEntity.notFound().build());
}
4. delete
개념
- 주어진 ID로 데이터베이스에서 특정 엔티티 객체를 삭제합니다.
용도
- 특정 레코드를 삭제할 때
사용 방법
@DeleteMapping("/posts/{id}")
public ResponseEntity<Void> deletePost(@PathVariable Long id) {
postRepository.deleteById(id);
return ResponseEntity.noContent().build();
}
요약
- save: 엔티티 객체를 저장하거나 업데이트
- findAll: 모든 엔티티 객체를 조회
- findById: 특정 ID로 엔티티 객체를 조회
- delete: 특정 ID로 엔티티 객체를 삭제
JpaRepository는 위의 4가지 주요 기능을 자동으로 구현해주므로, 별도의 쿼리 작성 없이도 쉽게 사용할 수 있습니다.
'낙서장[1] > 2. SpringBoot' 카테고리의 다른 글
[SpringBoot] 게시글 등록 주요 애노테이션 (0) | 2025.02.07 |
---|---|
[SpringBoot] 인증 JWT 개념 (0) | 2025.02.07 |
[SpringBoot] 인증과 권한 관리 SecurityContextHolder (0) | 2025.02.07 |
[SpringBoot] @RequestBody 애노테이션 (0) | 2025.01.24 |