자바 웹 개발/스프링부트
[SpringBoot] JPA로 데이터베이스 사용하기
ycraah
2024. 8. 27. 15:19
ORM이란?
ORM은 SQL을 사용하지 않고 자바 문법으로 데이터베이스를 관리하는 도구이다. DBMS 종류와 상관없이 일관된 자바 코드를 사용할 수 있어서 유지, 보수가 편하다는 장점이 있다. 데이터를 관리하는데 사용되는 ORM 자바 클래스는 엔티티라고 한다.
JPA란?
스프링 부트는 JPA를 ORM의 기술 표준으로 사용한다. JPA는 인터페이스 모음으로 구현할 실제 클래스가 필요하다.
H2 데이터베이스 설치하기
build.gradle 파일에 다음과 같이 입력하여 H2 데이터베이스를 설치한다.
runtimeOnly 'com.h2database:h2'
src/main/resources 디렉터리의 application.properties 파일에 새로운 설정을 추가해야 H2를 사용할 수 있다.
spring.h2.console.enabled=true // H2 콘솔 접속 여부
spring.h2.console.path=/h2-console // H2 콘솔 접속 URL
spring.datasource.url=jdbc:h2:~/local // 데이터베이스 접속 경로
spring.datasource.driverClassName=org.h2.Driver // 데이터베이스 접속할 때 사용하는 드라이버 클래스명
spring.datasource.username=sa //데이터베이스의 사용자명
spring.datasource.password= //데이터베이스의 비밀번호
local.mv.db 파일을 만들어서 C:\Users\(사용자명)에 넣어놓자. 빈 파일로 생성해도 상관없다.
아래 URL을 통해 H2 콘솔에 접속할 수 있다.
http://localhost:8080/h2-console
JPA 설정하기
JPA 라이브러리를 설치하기 위해 build.gradle 파일에 다음을 입력한다.
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
src/main/resources 디렉터리의 application.properties 파일에 새로운 설정을 추가해야한다.
#JPA
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update
ddl-auto 설정에는 다음이 있다.
-DB 변경 불가(none), 변경 부분만 적용(update), 차이 존재 검사(validate), 테이블 모두 삭제 후 생성(create), 종료시 테이블 모두 삭제(create-drop)
개발할 시에는 update를 운영 환경에서는 none, validate를 주로 사용한다.