1. build Gradle의 의존성 확인하기
dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-mustache' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.h2database:h2' runtimeOnly 'com.mysql:mysql-connector-j' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' }
- jpa : Spring Data JPA를 사용하는 데 필요한 기본 의존성을 포함되어 있음
JPA(Java Persistence API)를 사용하여 데이터베이스와의 상호 작용을 지원
- mustache : Mustache 템플릿 엔진을 사용
Mustache는 간단하면서도 강력한 템플릿 언어를 제공
- web : 스프링 부트 웹 애플리케이션을 개발하는 데 필요한 기본 의존성
Spring MVC와 내장된 톰캣 서버를 사용하여 웹 애플리케이션을 구성
- lombok : 롬복 라이브러리의 컴파일 타임 의존성
어노테이션을 통해 getter, setter, equals 등을 자동 생성
- devtools : 스프링 부트 애플리케이션의 개발을 도우는 도구
코드 변경 감지, 자동 재시작 및 다양한 개발 환경을 지원
- h2 : 인메모리 데이터베이스 H2의 런타임 의존성
개발 및 테스트 목적으로 사용, 휘발성이기 때문에 전원이 꺼지면 데이터가 날라감
- mysql-connector-j : MySQL 데이터베이스에 연결하기 위한 런타임 의존성
MySQL 데이터베이스와의 상호 작용을 지원
- test : 스프링 부트 테스트를 위한 기본 의존성을 제공
JUnit, Spring Test 등을 사용하여 애플리케이션을 테스트할 수 있음
2. H2 DB
- 자바로 작성된 관계형 데이터베이스 관리 시스템 / 서버 실행시 자동 설치
- 자바 애플리케이션에 임베드(장착)하거나 클라이언트-서버 모드에서 구동할 수 있음
- 인메모리 데이터 베이스 : 킬 때마다 똑같은 상태로 셋팅 가능
- DB는 종료되면 데이터가 다 날아감 / 휘발성
- 메모리에 데이터를 저장 / 설치가 필요없음
- 방언 설정이 가능 : 무슨 데이터 모드(Mysql인지 다른 것인지)로 실행할 것인지 설정이 가능함
3. JPA(Java Persistence API)
- Java를 사용하여 DB와의 관계형 데이터를 영구적으로 저장하고 검색하기 위한 API
- Java의 객체를 관계형 DB에 매핑하는 기술을 제공
객체와 DB 간의 매핑 작업을 간소화
- SQL 쿼리를 직접 작성하는 대신 Java 객체를 사용하여 DB와 상호 작용 가능
- 다양한 인터페이스와 메서드를 제공
- 내가 만든 오브젝트로 바로 받을 수 있음 // 굉장히 편함
ex) 서버(자바) - - - - - - - 디비
셀렉트 요청 : ResultSet 테이블 형태 데이터(rs)를 응답 받음
커서를 내리면서 파싱 → 자바 오브젝에 넣음 // 이 과정이 항상 필요함
4. dev.yml에 설정하기
server: servlet: encoding: charset: utf-8 force: true session: timeout: 30m port: 8080 spring: mustache: servlet: expose-session-attributes: true expose-request-attributes: true datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:test;MODE=MySQL username: sa password: h2: console: enabled: true jpa: hibernate: ddl-auto: create show-sql: true properties: hibernate: format_sql: true
조심해야 할 것 : 띄워 쓰기, 들여쓰기 위치!
5. H2 DB 연결 확인하기
Share article