반응형
✅ JpaRepository란?
Spring Data JPA에서 제공하는 인터페이스로, JPA 기반의 데이터베이스 작업을 아주 쉽게 처리할 수 있도록 도와줍니다.
JpaRepository를 상속받아 인터페이스를 작성하면, 복잡한 SQL 없이도 DB 테이블에 접근할 수 있습니다.
📌 기본 구조
public interface QuestionRepository extends JpaRepository<Question, Integer> {
// 필요하면 여기에 커스텀 쿼리 메서드 추가
}
- Question은 엔티티 클래스, Integer는 PK(Primary Key, 기본키)의 타입입니다.
📌 제공 기능
1. findAll() : 모든 데이터 조회
SELECT * FROM question;
2. findById(ID id) : id로 데이터 한 개 조회
SELECT * FROM question WHERE id = ?;
3. save(Entity e) : 데이터 저장(Insert/Update)
INSERT INTO question (subject, content, create_date) VALUES (?, ?, ?);
UPDATE question SET subject = ?, content = ? WHERE id = ?;
4. deleteById(ID id) : id로 데이터 한 개 삭제
DELETE FROM question WHERE id = ?;
5. count() : 총 데이터 개수
SELECT COUNT(*) FROM question;
6. findAll(Pageable pageable) : 페이징 처리된 결과 조회
SELECT * FROM question ORDER BY id DESC LIMIT 10 OFFSET 10;
-- 여기서
-- LIMIT 10 : 10개 가져온다.
-- OFFSET 10 : 10개 건너뛴다.
7. existsById(ID id) : id로 데이터 한 개 존재 여부 확인
SELECT COUNT(*) FROM question WHERE id = ?;
마지막으로, JpaRepository가 없으면 직접 적어야 할 쿼리문을 간단한 메서드 호출만으로 처리할 수 있게 도와줍니다.
'Spring > 개인 공부' 카테고리의 다른 글
JDK 21을 설치하고 STS4(Spring Tool Suite 4)까지 설치해보자 (0) | 2025.06.30 |
---|---|
자동 서버 재시작을 위한 developmentOnly : spring-boot-devtools (0) | 2025.06.30 |
게시판 해체 분석 100%!! 코드들의 설명과 동선 완벽하게 이해하기 (2) | 2025.06.26 |
STS3에서 로그인과 게시판 생성을 위한 요점 정리 (1) | 2025.06.24 |
Spring Framework에서 Service와 ServiceImpl 구조를 사용하는 이유는 무엇인가? (0) | 2025.06.24 |