본문 바로가기

Back-End/Spring8

쿼리 메서드, @Query Spring Data JPA의 쿼리 기능은 아래와 같은 방법을 제공합니다. 쿼리 메서드 : 메서드의 이름 자체가 쿼리의 구문으로 처리되는 기능 @Query : SQL과 유사하게 엔티티 클래스의 정보를 이용해서 쿼리를 작성하는 기능 Querydsl 등의 동적쿼리 처리 기능 쿼리메서드 메서드의 이름 자체가 query 문이 되는 기능입니다. 간단한 쿼리를 조회할 때 사용하면 좋습니다. 아래는 쿼리메서드 명명 방법입니다. docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation Spring Data JPA - Reference Documentation Example 109. Using @Transacti.. 2021. 5. 12.
JPA Paging(Page, Pageable, PageRequest, Sort) Paging에서 주로 사용되는 객체 및 인터페이스는 아래와 같다. 주요 객체 Page : 페이지 정보를 담게 되는 인터페이스 Pageable : 페이지 처리에 필요한 정보를 담게 되는 인터페이스 관계 및 사용 PageRequest에 의해 Pageable에 페이징 정보가 담겨 객체화 된다. Pageable이 JpaRepository가 상속된 인터페이스의 메서드에 파라미터로 전달된다. 2번의 메서드의 return 으로 Page가 전달 된다. 전달된 Page에 담겨진 Page 정보를 바탕으로 로직을 처리하면 된다. PageRequest의 메서드 of(int page, int size) : 0부터 시작하는 페이지 번호와 개수. 정렬이 지정되지 않음 of(int page, int size, Sort sort) :.. 2021. 5. 12.
JpaRepository 일반적인 CRUD가 필요한 경우 CrudRepository를 사용해도 되지만, 특별한 경우가 아니라면 JpaRepository를 선택하는 것이 무난하다. 사용방법 public interface MemoRepository extends JpaRepository { } 너무나도 간단하다. 사용하려는 Repository Class에 JpaRepository 인터페이스를 구현하는 것으로 생성이 끝난다. Spring Data JPA가 자동으로 해당 인터페이스에 맞는 코드를 생성해준다. JpaRepository를 사용할 때는 엔티티의 ㅏ입정보와 @Id의 타입을 지정해줘야 한다.(JpaRepository) 메서드 Insert 작업 : save(엔티티 객체) select 작업 : findById(키 타입), getOn.. 2021. 5. 12.
엔티티 클래스 크게 두 종류의 코드로 JPA 개발이 가능합니다. JPA 객체에 해당하는 엔터티 클래스 엔터티 객체를 관리하는 기능을 가진 Repository 엔티티 클래스 @Entity @Table(name = "tbl_memo") @ToString @Getter @Builder @AllArgsConstructor @NoArgsConstructor public class Memo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long mno; @Column(length = 200, nullable = false) private String memoText; } @Entity 해당 클래스가 엔티티를 위한 클래스이며, 해당 클래스의 인스턴스들이 JPA.. 2021. 5. 12.
Spring Context Root 경로 (Resources 경로) 이미지 경로를 분명히 맞게 설정했는데 로드가 되지 않는 오류가 있었다. http://localhost:8181/HealthShareSecurity/resources/images/.... 와 같이 설정했었는데 이게 아무리 해도 읽어지지가 않는 것이었다. 그래서 몇 시간의 구글링을 통해 단서를 하나 찾았는데.... Context Root 경로 src\main\webapp. 브라우저에서 접근가능. 브라우저에서 접근이 가능하기때문에 css파일 이나, jquery, img 파일들이 위치해있음. 출처 : datajoy.tistory.com/185 Context Root의 기본 경로가 src\main\webapp 인줄은 몰랐다... 그래서 괜히 엉뚱한 src\main\resources에 이미지 파일을 넣고 한참을 고.. 2021. 3. 21.
Spring AOP 용어 정리 조인포인트(Joinpoint) : 클라이언트가 호출하는 모든 비즈니스 메소드, 조인포인트 중에서 포인트컷되기 때문에 포인트컷의 후보로 생각할 수 있다. 포인트컷(Pointcut) : 특정 조건에 의해 필터링된 조인포인트, 수많은 조인포인트 중에 특정 메소드에서만 횡단 공통기능을 수행시키기 위해서 사용한다. 표현식 : 리턴타입 패키지경로 클래스명 메소드명(매개변수) 어드바이스(Advice) : 횡단 관심에 해당하는 공통 기능의 코드, 독립된 클래스의 메소드로 작성한다. 어드바이스의 동작 시점동작시점설명 Before 메소드 실행 전에 동작 After 메소드 실행 후에 동작 After-returning 메소드가 정상적으로 실행된 후에 동작 After-throwing 예외가 발생한 후에 동작 Around 메소드.. 2021. 3. 21.