JAVA/Spring(109)
-
Spring Data JPA #4 단순 게시글 처리 #2 쿼리 메서드의 페이징 처리와 정렬
이전 글 https://yonghwankim-dev.tistory.com/134 Spring Data JPA #4 단순 게시글 처리 #1 쿼리 메서드 사용 본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 개요 Spring Data JPA의 CrudRepository만을 이용해서 create, read, update, delete 작업이 가능하나, 이는 너무 단순 작업입니다. 실 yonghwankim-dev.tistory.com 본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 개요 본 글에서는 쿼리 메소드가 사용하는 페이징 처리와 정렬에 대해서 알아보고 Page 타입을 사용하는 것을 알아봅니다. 쿼리 메소드라는 메소드의 이름만으로 원하는 SQL을 실행하..
2021.10.06 -
Spring Data JPA #4 단순 게시글 처리 #1 쿼리 메서드 사용
본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 개요 Spring Data JPA의 CrudRepository만을 이용해서 create, read, update, delete 작업이 가능하나, 이는 너무 단순 작업입니다. 실제로 더 다양한 기능을 마음대로 사용하기 위해서 추가적인 학습이 필요합니다. #4 단순 게시글 처리에서는 아래 학습을 통해서 좀더 상세한 쿼리를 호출할 수 있도록 합니다. 쿼리 메소드라는 메소드의 이름만으로 원하는 SQL을 실행하는 방법 (현재) @Query를 이용한 좀 더 구체화된 JPQL 처리 페이징과 정렬에 대한 처리 Querydsl을 이용한 동적 쿼리 본 글에서는 쿼리 메소드라는 메소드의 이름만으로 원하는 SQL을 실행하는 방법을 실습합니다. 1. 프..
2021.10.06 -
Spring Data JPA #3 Spring Data JPA를 위한 프로젝트 생성 #2
본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 3. JPA 처리를 담당하는 Repository 인터페이스 설계하기 Spring Data JPA를 이용하는 경우에는 별도의 클래스 파일을 작성하지 않고 원하는 인터페이스를 구현하는 것만으로도 JPA와 관련된 모든 처리가 끝나게 됩니다. 일반적으로 과걱에는 DAO라는 개념을 이용했듯이, JPA를 이용하는 경우에는 Repository라는 용어로 칭합니다. Spring Data JPA에서는 다음과 같은 인터페이스 구조를 사용하고 있습니다. 모든 인터페이스가 두 개의 제네릭 타입을 사용하는 것을 볼 수 있는데, T는 엔티티의 타입 클래스를, ID는 식별자(PK)의 타입을 의미합니다. 이때 ID에 해당하는 타입은 반드시 java.io.Se..
2021.10.01 -
Spring Data JPA #3 Spring Data JPA를 위한 프로젝트 생성 #1
본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 0. SpringBoot 프로젝트 생성 File->New->Spring Starter Project Lombok, Spring Data JPA, MySQL Driver 라이브러리 선택 1. 프로젝트 실행과 DataSource 설정 스프링 부트에 JDBC와 같은 추가 라이브러리를 포함해서 이용 시 가장 큰 제약은 실행이 안되는다는 점입니다. 이유는 데이터베이스 관련 설정이 전혀 없기 때문에 프로젝트를 실행할 수 없습니다. 이를 해결하기 위해서는 우선 필요한 데이터베이스를 구성하고 DataSource를 지정해 주어야 합니다. 1.1 MySQL 설정 데이터베이스에 접속해서 새로운 스키마 생성 새로운 사용자 계정 생성 Navigator-..
2021.10.01 -
Spring Data JPA #2 엔티티(Entity), 엔티티 매니저(Entity Manager)
본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 1. JPA와 엔티티의 관계 엔티티는 데이터베이스 상에서 데이터로 관리하는 대상을 의미합니다. 예를 들어, '상품', '회사', '직원'등과 같이 명사이면서 업무와 관련된 데이터를 엔티티로 규정합니다. JPA에서는 Java를 이용해서 이러한 엔티티들을 관리하기 때문에 엔티티 타입의 존재는 클래스가 됩니다. 예를 들어, JPA에서 '하나의 엔티티 타입을 생성한다'라는 의미는 '하나의 클래스'를 작성한다는 의미가 됩니다. 2. 엔티티 매니저란 무엇인가? 엔티티 매니저는 여러 엔티티 객체들을 관리하는 역할을 합니다. 여기서 '관리'란 'Life Cycle'이라고 할 수 있습니다. 엔티티 매니저는 자신이 관리해야 하는 엔티티 객체들을 '..
2021.10.01 -
Spring Data JPA #1 JPA 소개
본 글은 스타트 스프링 부트 도서의 내용을 복습하기 위해 작성된 글입니다. 1. JPA란 무엇인가? JPA는 'Java Persistence API'의 약자로, Java 관련 기술 스펙의 하나입니다. Java를 이용해서 데이터를 관리(유지)하는 기법을 하나의 스펙으로 정리한 표준입니다. JPA를 이해하기 위해서는 먼저 ORM(Object Relational Mapping)에 대한 것을 알아야 합니다. ORM은 객체지향에서 말하는 객체와 데이터베이스에서 말하는 개체(Entity)가 상당히 유사하다는 입장에서 시작합니다. 에를 들어, 회원 정보를 생각해보면 다음과 같습니다. 위의 그림을 보면 객체지향에서 클래스로 설계하는 모습과 데이터베이스의 테이블 구조가 거의 유사한 것을 볼 수 있습니다. 이러한 유사한 ..
2021.10.01