티스토리 뷰

  • 유저 등록
  • 유저 단건 조회
  • 유저 모두 조회
  • 유저 삭제
  • 서비스 추상화
  • JPA 사용
  • Postman으로 api 확인
  • H2 사용(진행중)
  • 엔티티 생성
  • dto 생성
  • REST API
  • 리팩토링

 

1. 프로젝트 생성

먼저 프로젝트를 생성하도록 하겠다.  사이트 

 

spring initializr 사이트는 프로젝트를 원하는 의존성을 추가하여 생성할 수 있는 사이트이다. 아래는 4개의 의존성에 대한 설명이다.

  • Spring Data JPA : JPA를 쓰기위함
  • Lombok : 반복적인 코드를 줄여줌
  • Web : HTTP클라이언트와 Spring의 원격 지원을 위함
  • H2 Database : h2를 쓰기 위함

 

그리고 GENERATE 를 눌러주자.

 

 

Intellij를 열고 open -> generate한 폴더를 찾음 -> build.gradle -> open -> open as Project 를 클릭해준다.

 

 

서버가 잘 동작하는지 확인하기 위해 main method 옆에 있는 초록색 버튼을 눌러준다.

 

 

이 화면이 뜨면 잘 동작하는거다. 잘 동작하지 못하면 컴파일 부터 오류가 뜰 것이다.

 

2. 데이터베이스 설정

h2 설치하는 방법은 생략하도록 하겠다.

 

 

h2를 실행하게 되면 아래와 같은 창이 뜨는데, 이름을 crud로 바꿔준 뒤, 연결을 눌러준다. (이름을 crud 대신 test로 바꾸자)

 

그리고 intellij로 돌아와서 application.properties를 application.yml로 바꿔준다.

properties로 설정을 하고 싶으신 분들은 굳이 바꿔줄 필요는 없다.

 

 

그리고 yml을 작성해준다.

 

 

저게 뭐지 ? 라는 분들은 아래설명을 보자.

 

spring:

# DB 연결

    datasource:

# 설치된 h2 DB와 연결하는 URL

    url: jdbc:h2:tcp://localhost/~/crud

# 없으면 에러발생

    username: sa

    password:

# 접속을 위한 드라이버

    driver-class-name: org.h2.Driver

    jpa:

# JPA가 수행하는 sql볼 수 있음

      show-sql: true

      hibernate:

# 자동 테이블 생성 기능

        ddl-auto: create

 

나머진 로그를 보기위한 설정이니 모르고 넘어가도 무방하다.

 

그럼 잘 연동하는지 테스트를 하기 위해 엔티티를 만들어 보겠다.

 

엔티티, 기본키 매핑을 알고싶으신 분들은 아래 링크를 참고하길 바란다.

https://skatpdnjs.tistory.com/entry/%EC%97%94%ED%8B%B0%ED%8B%B0-%EB%A7%A4%ED%95%91?category=1013012 

 

엔티티 매핑

JPA를 사용하는데 있어서 가장 중요한 것은 엔티티와 테이블을 정확히 매핑시키는 것이다. 따라서 매핑 어노테이션을 잘 숙지하고 사용할 수 있어야 한다. 다양한 매핑 어노테이션을 지원하는데

skatpdnjs.tistory.com

https://skatpdnjs.tistory.com/entry/%EA%B8%B0%EB%B3%B8-%ED%82%A4-%EB%A7%A4%ED%95%91?category=1013012 

 

기본 키 매핑

이 부분은 영속성 컨텍스트에 관한 글을 보고 오면 더 이해가 가기 쉽다. https://skatpdnjs.tistory.com/4 영속성 컨텍스트 1. 영속성 컨텍스트 란 ? 눈에 보이지 않는 논리적인 개념 EntityManager을 사용하

skatpdnjs.tistory.com

 

그럼 한번 실행해보자. h2에 select * from member을 치면 아래와 같이 필드가 잘 나오는 것을 볼 수 있다.

 

그럼 다음페이지부터 구현을 하도록 하겠다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday