Spring Boot

< Spring Boot > Repository

98kg 2023. 8. 25. 14:21
 Repository

스프링에서 제공하는 실제 CRUD 를 수행하는 인터페이스이다.
 이 인터페이스를 이용해서 entity 객체를 대상으로 CRUD 를 진행하고,

Entity 를 반영 결과를  실제 Table 에 반영한다.
 
  때문에 모든 작업은 이 객체를 이용하게된다.
  이 인터페이스는 내부적으로 상속 관계를 갖게되는데, Super 로는 Repository 라는 객체가 있고,
  하위로는 단계별로 DB 처리 시 필요한 기능을 추가로 정의한 애들로 구성되어 있습니다.
    
 이 중, JpaRepository 라는 최하위 인터페이스가 있는데,

이 인터페이스는 위의 부모들이 정의한 CRUD 의 기본 기능 외에
   페이징 처리를 할 수 있는 기능까지 정의한 인터페이스이다.
     
  떄문에 기본적인 CRUD 를 진행하는 경우, super 인터페이스를 사용하거나, 페이지 등의 처리까지 하는 경우엔
   JpaREpository 를 사용하는게 일반적이다.
    
   사용방법 : 매우간단하다, Repository 를 수행하는 클래스를 선언하고 위 인터페이스 중 하나를 상속받으면 끝난다.
    
   이렇게 하면, 스프링이 수해되는 시점에 해당 인스턴스를 자동으로 생성해서 메모리에 올려주고,
   이렇게 올라간 Repository 의 메서드를 이용해서 CRUD 를 진행합니다.


CRUD 란??


대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 

Create(생성), Read(읽기), Update(갱신), Delete(삭제) 를 묶어서 일컫는 말이다.

사용자 인터페이스가 갖추어야 할 기능(정보의 참조/검색/갱신)을 가리키는 용어로서도 사용된다.


 JpaRepository  Method

 

 


insert, update : save(Entity)

            delete : deleteById(key), delet(entity)

        select : findById(key), getOne(key)


 

아래는 repositroy 생성하는 코드입니다.


public interface MemoRepository  extends JpaRepository<Memo, Long>{
    
}

Jpa repository 제네릭 타입으로는

대상 Entity 객체명(클래스명), Entity의 (Entity 로 생성된 테이블) PK type을 줘야합니다.