본문 바로가기
Backend - Java Spring/SB 입문_Apple(완)

[Co_App] Spring Basic 복습 - Pagination ~ JPA (완)

by VictorMeredith 2024. 9. 8.

1.  Pagination

- 1~5 번 게시물만 보여주기 해보자

 

- Repository 인터페이스에 다음과 같이 메서드 생성

 

- 가져다 사용할때는 PageRequest를 사용한다.

- items 를 이미 list.html에 바인딩 해놓았으므로 result를 보내면 알아서 반복문을 돌면서 렌더링한다.

 

- 동적으로 변경하기

Slice, getTotalPages() 알아가자

 

2. Azure Storage 이용하기 (Azure Blob)

- 별도의 강의가 없으므로 따로 공부해서 아라보자

- 이것도 단순한 Copilot 예시코드일 뿐이다.

3. Comment 기능

- 각 상품에 대한 댓글 기능을 구현한다.

 

- Controller

 

- Comment Entity

간단한 구현을 위해 관계를 설정하지 않음

 

- Service

 

- Repository

 

- Thymeleaf

 

- 별거 없다.

 

4. 검색 기능

- title 에서 검색하기(item)

- JPA 문법으로 테이블에 Index 만들기

 

- Index 만드는 방법

@Table 로 생성

 

- 당연하게도 LIKE %검색어% 에서는 Index 사용이 안됨

 

- Full Text Index : 단어를 분할해서 다 정리해버림, 단어나 행이 많아도 빠르게 찾기 가능

- 문제점 : 한국어는 문제 당연히 있다.

- 한국어는 n-gram parser 를 이용해서 인덱스를 만들어놓기도 한다. (두 글자를 다 뽑아서 알아서 정렬해서 다 인덱스로 만드는 기법)

item테이블의 타이틀 컬럼에 Fulltext Index 만들기

 

- rawQuery를 사용할때마다 @Query 의 네이티브쿼리가 실행되도록 하는 방법

- ItemRepository 에서 다음과 같이 적는다.

 

rawQuery1(2L) 이런식으로 넣어서 사용 가능

 

다음과 같은 문법으로 FULLTEXT INDEX를 사용할 수 있다.

- match-against 를 사용하면 관련도가 높은 행을 알아서 정렬한다.

 

- PostMapping Controller는 다음과 같이 됨.

 

5. 주문 기능

- 주문 엔티티 만들기

 

@ManyToOne

@JoinColumn() 을 통해 ForeignKey를 걸어준다.

 

- ㅋㄷㅇㅍ에서 나오는 강의의 한계(안좋은 습관)로 인해 여기서 중단하고 영한쌤의 JPA 근본을 다시 배우기로 한다.

 

- ㅋㄷㅇㅍ 강의 끝!

'Backend - Java Spring > SB 입문_Apple(완)' 카테고리의 다른 글

[Co_App] Spring Basic 복습 - Auth  (0) 2024.09.01
[Co_App] Spring Basic 복습  (0) 2024.08.29

댓글