스프링 4

[Spring Boot] JpaRepository의 페이징 및 정렬 처리 하기

안녕하세요. hia의 개발 story입니다. 오늘은 JpaRepository를 이용해 페이징 처리와 정렬 처리를 해보려고 합니다. 지난번에 만든 테이블에는 데이터가 부족하니 sample 테이블에 페이징을 볼 수 있는 데이터를 50개 정도 넣도록 하겠습니다. 이제 CRUD 테스트를 위해 만들었던 SampleRepositoryTests를 이용해 계속 테스트를 해보겠습니다. 페이징 처리 : findAll() 페이징 처리는 findAll() 메서드를 이용하면 됩니다. 이때 findAll( )의 매개변수로 Pageable을 사용하면 Page 로 반환을 하게 되어있습니다. 아래의 소스로 페이징 되어 나오는 데이터를 확인할 수 있습니다. @Test public void pageTest(){ Pageable pagea..

Springboot 2023.03.22

[Spring Boot] JpaRepository를 이용한 CRUD 테스트 예제 공부

안녕하세요. hia의 개발 story입니다. 오늘은 저번에 만들었던 Sample 테이블을 이용하여 JpaRepository 테스트를 해보려고 합니다. JpaRepository를 이용하면 SQL 없이 CRUD 작업을 할 수 있습니다. 개발자에게는 엄청나게 시간을 아껴주는 고마운 친구인 것이죠. JpaRepository CRUD 메서드 insert : save(엔티티 객체) select : findById(키 타입), getOne(키 타입) update : save(엔티티 객체) delete : deleteById(키 타입), delete(엔티티 객체) 특이한 점은 insert와 update 모두 save()라는 메서드를 사용하는데 이는 JPA가 메모리상에서 객체를 비교하고 없으면 insert, 존재하면 u..

Springboot 2023.03.21

[Spring Boot] Spring JPA 엔티티 클래스 작성해서 테이블 만들기

안녕하세요. hia의 개발 story입니다. 저번 글에 이어 JPA를 이용하여 MariaDB에 테이블을 만들어보도록 하겠습니다. Spring Data JPA를 이용하면 엔티티 클래스를 이용해서 테이블을 자동으로 만들 수 있습니다. DDL을 작성하는 게 꽤나 귀찮은데 이렇게 만들 수 있다면 조금 더 편하게 코딩을 할 수 있겠네요. Entity 클래스 만들기 우선 entity 클래스를 하나 만들어 준 후 아래에 Sample 클래스를 만들어줬습니다. package com.jenny.project.entity; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; i..

Springboot 2023.03.20

[Spring Boot] MariaDB와 Spring JPA 사용하기

안녕하세요. hia의 개발 story입니다. 오늘은 스프링 JPA에 관한 글을 쓰려고 합니다. Spring JPA는 공식 홈페이지에서 설명하는 것과 같이 Spring에서 Jakarta Persistence API(JPA)를 사용할 수 있도록 하는 것입니다. JPA 데이터소스에 접근하기 쉽도록 만들어져 있어 간단한 설정만으로도 JPA를 사용할 수 있습니다. CRUD(Crate, Read, Update, Delete) 작업을 쉽게 처리할 수 있습니다. Spring Data JPA - Reference Documentation Example 119. Using @Transactional at query methods @Transactional(readOnly = true) interface UserReposi..

Springboot 2023.03.14