서버 개발/JPA

JPA - (1) 프로젝트 생성

Johnny Yoon 2019. 8. 5. 23:20
728x90
반응형

 

JPA

JPA란 Java Persistence API의 약자로, Java 객체와 관계형 DB를 맵핑해주는 ORM 프레임워크입니다.

 

개발환경

앞으로의 포스팅을 통해 JPA를 사용해볼 것인데, 이에 사용할 환경은 다음과 같습니다.

  • IDE: IntelliJ Community
  • 빌드툴: Gradle
  • 언어: Java
  • Database: H2
  • 프레임워크: Spring Boot

Spring Boot를 왜 사용하는지 의아해 하실 수 있지만, H2를 별도로 설치하지 않아도 되어서 사용하는 것입니다.

 

프로젝트 설정

Spring Initializr

먼저 아래 링크를 통해 스프링 부트 어플리케이션을 생성해 다운받겠습니다.

https://start.spring.io/

 

프로젝트는 아래와 같이 설정해 주었습니다.

  • Gradle Project를 선택합니다.
  • 언어는 java를 선택합니다.
  • Spring Boot 버전은 2.1.6을 사용합니다.
  • Group id 는 com.jyoon.study를 사용합니다.
  • Artifact id는 hello-jpa라고 이름 지었습니다.

Dependencies

사이트에서 설정해 줄 수 있는 기본적인 Dependencies는 다음과 같이 설정해 주었습니다.

  • Lombok은 Getter와 Setter메소드를 Annotation으로 간결하게 생성해 주기 위해 포함했습니다.
  • Web Starter는 JPA가 DB를 생성하고 바로 종료하지 않도록 포함했습니다.

properties파일

IntelliJ를 사용해 프로젝트를 열고, application.properties파일을 열어 다음과 같이 입력해줍니다.

spring.datasource.url=jdbc:h2:file:~/h2/hellojpa
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true

위의 설정에서 눈여겨봐야하는 설정은 첫번째 줄 입니다.

h2를 파일 모드로 사용하고, 홈디렉토리의 h2/hellojpa폴더에 db를 생성합니다.

 

어플리케이션 실행

src > main > java > 패키지명 > HelloJpaApplication.java파일에 가서 재생 버튼을 눌러줍니다.

저의 경우 패키지명은 com.jyoon.study.hello-jpa입니다.

 

H2 Web Console

이제 아래 url로 접속합니다. 

http://localhost:8080/h2-console

 

위와 같은 화면이 나오면, 그림에 보이는 것 처럼, jdbc:h2:~/h2/hellojpa로 URL을 수정해주고,

application.properties파일에 설정해준 Username과 Password를 입력해줍니다.

 

테이블 생성

새로운 화면이 나오면 가장 큰 입력창에 테이블을 생성하는 쿼리를 입력해줍니다.

CREATE TABLE MEMBER (
    ID VARCHAR(255) NOT NULL,
    NAME VARCHAR(255),
    AGE INTEGER,
    PRIMARY KEY (ID)
);

위는 멤버라는 테이블이고, 아이디, 이름, 나이로 구성되어있습니다.

 

테스트 데이터 입력

이제 테스트 데이터를 한개 주입시켜 보겠습니다.

아래 Insert쿼리를 사용해 하나의 레코드를 집어 넣겠습니다.

INSERT INTO MEMBER VALUES ('0', 'Johnny', 27);

 

테스트 데이터 확인

마지막으로 주입시킨 데이터를 확인해보겠습니다.

아래의 Select쿼리를 사용해 데이터를 확인해봅니다.

SELECT * FROM MEMBERS;

 

아래와 같은 화면이 나오면 성공한 것입니다.

 

여기까지 프로젝트 설정을 마쳤습니다.

 

전체소스

이 포스팅의 전체 소스코드는 아래 깃허브 리포의 master 브랜치에서 확인하실 수 있습니다.

https://github.com/ydy1128/hello-jpa

 

참고자료

728x90
반응형

'서버 개발 > JPA' 카테고리의 다른 글

JPA - (2) 객체 매핑  (0) 2019.08.06