도슐랭스타

ReadingRecordRepository 생성 본문

Spring Boot project

ReadingRecordRepository 생성

도도.__. 2025. 4. 10. 14:03

Repository는 JPA가 제공하는 '자동 DAO(데이터 접근 객체)'
DAO(Data Access Object) - 실제 DB에 접근하여 CRUD하는 객체

ReadingRecordRepository.java

package me.dodo.readingnotes.repository;

import me.dodo.readingnotes.domain.ReadingRecord;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ReadingRecordRepository extends JpaRepository<ReadingRecord, Long> {
    // 필요하면 여기에 커스텀 쿼리도 작성
}

public interface ReadingRecordRepository - ReadingRecord 엔티티와 DB를 연결해주는 역할을 하는 인터페이스
extends JpaRepository<ReadingRecord, Long> - JPA 사용하겠다. JPA가 자동으로 모든 DB 작업 메서드를 만들어줌
ReadingRecord - 어떤 엔티티를 저장할지
Long - 엔티티의 기본키 타입 (@Id 필드의 타입)

쓸 수 있는 메서드 예시

1. save(record)  - 객체를 DB에 저장 (INSERT or UPDATE)
2. findById(id)
- 기본키로 조회
3. findAll()
- 전체 조회
4. delete(record)
- 삭제


커스텀 메서드

1. findByXxx() - Xxx 값으로 조회
2. findByTitleAndAuthor() - 제목과 작가 둘 다 만족하는 데이터 조회
3. findByDateAfter()
- 특정 날짜 이후의 데이터
4. findByTitleContaining()
- 제목에 특정 단어가 포함된 데이터 (LIKE '%값%')

예시 - 제목으로 검색하는 커스텀 메서드

public interface ReadingRecordRepository extends JpaRepository<ReadingRecord, Long> {

    // 제목으로 조회
    List<ReadingRecord> findByTitle(String title);

    // 작가명으로 조회
    List<ReadingRecord> findByAuthor(String author);

    // 특정 날짜 이후에 작성된 독서기록 조회
    List<ReadingRecord> findByDateAfter(LocalDate date);
}

 

반응형

'Spring Boot project' 카테고리의 다른 글

DTO 클래스 생성 Request, Response  (1) 2025.04.13
ReadingRecordController 생성, get/post Test  (1) 2025.04.12
ReadingRecordService 생성  (0) 2025.04.11
ReadingRecord 엔티티 생성  (0) 2025.04.09
환경설정  (0) 2025.04.09
Comments