Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 동기
- 스프링부트
- 퍼시스턴스 계층
- spring
- http
- 로그인/로그아웃
- 토큰기반 인증
- JPA
- 스프링부트 구조
- 프레젠테이션 계층
- 작업명중복
- 스프링부트 계층구조
- java I/O
- 로그인 인증 흐름
- 어노테이션
- 비동기
- 세션기반 인증
- @temproal
- 비즈니스 계층
- 스프링
- IPC
- ./gr
- RESTfull API
- Java
- 스프링 부트 테스트
- formmatted
- ./gradlew docker
- ORM
- JWT
- MSA
Archives
- Today
- Total
[DEV] J-Jay
스프링 부트 ORM (2) 본문
728x90
스프링 데이터
스프링 데이터는 비즈니스 로직에 더 집중할 수 있게 데이터베이스 사용 기능을 클래스 레벨에 추상화 한다.
스프링 데이터에서 제공하는 인터페이스를 통해 스프링 데이터를 사용할 수 있다.
이 인터페이스에서는 CRUD를 포함한 여러 메서드가 포함되어 있으며, 알아서 쿼리를 생성해준다.
추가로 페이징 처리 기능과 메서드 이름으로 자동으로 쿼리 빌딩하는 기능, 각 데이터베이스의 특성에 맞춰 기능을 확장해 제공하는 기술도 제공한다.
스프링 데이터 JPA
스프링 데이터 JPA는 스프링 데이터의 공통적인 기능에서 JPA의 유용한 기술이 추가된 것이다.
스프링 데이터 JPA에서는 스프링 데이터의 인터페이스인 PagingAndSortingRepository를 상속받아 JpaRepository 인터페이스를 만들었고, JPA를 더 편리하게 사용하는 메서드를 제공한다. 이전 장에서 설명한 엔티티 매니저에서는 메서드 호출로 엔티티 상태를 바꾸는 작업을 했었다.
https://dev-junick.tistory.com/49
하지만 스프링 데이터 JPA를 사용하면 레포지터리 역할을 하는 인터페이스를 만들어 데이터베이스의
테이블 조회, 수정, 생성, 삭제 같은 작업을 간단히 할 수 있다.
CRUD메서드를 사용하기 위한 JpaRepository 상속
pubilc interface MemberRepository extends JpaRepository<Member, Long> {
}
스프링 데이터JPA 메서드
@Service
public class MemberService {
@Autowired
MemberRepository memberRepository;
public void test() {
// 생성(create)
memberRepository.save(new Member(1L, "J-Jay"));
// 조회(Read)
Optional<Member> member = memberRepository.findById(1L); //단건 조회
List<Member> allMembers = memberRepository.findAll(); //전체 조회
// 삭제(Delete)
memberRepository.deleteById(1L); //단건 삭제
memberRepository.deleteAll(); //전체 삭제
}
}
'Back-end > Spring' 카테고리의 다른 글
스프링 부트 Blog 만들기 (2) - Thymeleaf (0) | 2023.09.05 |
---|---|
스프링 부트 Blog 만들기 (1) (0) | 2023.09.04 |
스프링 부트 ORM (1) (0) | 2023.09.03 |
스프링 부트 테스트 코드 (3) (0) | 2023.09.02 |
스프링 부트 테스트 코드 (2) - AssertJ (0) | 2023.09.02 |