[Start Spring Boot] JPA로 데이터베이스 사용하기

·2024년 3월 14일
0

Start Spring Boot!

목록 보기
11/53
post-thumbnail

JPA와 ORM

ORM란?

  • Object Relational Mapping
  • SQL이 아닌 개발언어로 DB에 접근을 하게 해주는 툴!
  • 객체와 테이블을 매핑하는 기술

JPA란?

  • 자바 ORM기술에 대한 API표준 명세
  • ORM을 사용하기 위한 인터페이스 모음
  • Hibernate를 이용해서 구현
  • DB를 보다 쉽게 사용 가능!

H2 DB

JPA를 사용하기 위해서는 우선 DB가 필요하다.

H2 DB?

  • JAVA로 작성된 오픈소스 RDBMS
  • 용량이 매우 가벼움
  • 웹에서 콘솔을 제공함!
  • 로컬환경, 테스트에 용이

Dependencies 추가하기

  • build.gradle
dependencies {
	runtimeOnly 'com.h2database:h2'
}
  • runtimeOnly: 빌드에서 라이브러리를 추가하지 않고, 실행 시 라이브러리를 추가한다는 의미!

설정하기

  • application.properties
# DATABASE
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:~/local
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
  • spring.h2.console.enabled: h2 콘솔 접속을 허용할지
  • spring.h2.console.path: 콘솔 접속 URL 설정
  • spring.datasource.url: DB에 접속하기 위한 경로
  • spring.datasource.driverClassName: DB에 접속할 때 사용하는 드라이버 클래스명
  • spring.datasource.username: DB의 사용자명(기본값이 sa)
  • spring.datasource.password: DB의 비밀번호

db 파일 생성하기

  • jdbc:h2:~/local이기 때문에 홈 디렉터리에 local.mv.db를 생성하자
  • 다음 명령어로 생성할 수 있다.
  • 권한에 조심하자!
touch local.mv.db
  • 뒤에서 Entity를 구성하고 실행하면 파일을 알아서 생성한다.

h2-console 접속하기

JPA 추가하기

Dependencies 추가하기

  • build.gradle
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
}

설정하기

  • application.properties
# JPA
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update
  • spring.jpa.properties.hibernate.dialect: DB에 따라 달라지, H2 DB 사용을 위한 설정

spring.jpa.hibernate.ddl-auto

  • none: 엔티티가 변경되어도 DB를 변경하지 않음
  • update: 엔티티의 변경된 부분만 DB에 적용
  • validate: 차이점이 있는지 검사만 함!
  • create: 서버 시작시 모든 테이블 삭제 후 재생성
  • create-drop: create와 동일, 서버 종료시 테이블 모두 삭제함!
profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보