🤷🏻♀️고민하기 - 어떤 DB를 사용할 것인가
이전 프로젝트에서는 mysql를 사용하기도 했고, 가장 친숙한 느낌이라 mysql을 사용할까도 했지만
스프링 부트를 공부했을 때 test 코드 작성 시에 내장형 db를 사용하면 더 다양한 기능을 자동으로(?) 사용할 수 있었던 것으로 기억해서 이번에는 H2를 활용해 보기로 했다. (추후 mysql로 변경도 가능하기 때문에~)
1. 인메모리 모드
데이터가 메모리에만 저장되며, 서버가 종료되면 데이터가 사라진다.
2. 디스크 기반 모드 ✔️
데이터가 디스크에 저장되며, 서버를 종료하고 다시 시작해도 데이터는 유지된다.
✔️ Mac에서 h2에 실행하기
- 터미널에 접속한다.
- cd 명령어를 활용해 다운받아 놓았던 h2 폴더 ➡️ bin 폴더까지 들어간다.
- 그 상태에서 아래의 명령어를 입력한다.
chmod 755 h2.sh
./h2.sh

인메모리 모드를 사용할 것이기 때문에 Embedded가 아니라 Server로 선택해서 실행해야 한다.

✔️ Intellij - DB에 연결하기

# 데이터베이스 연결 설정
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
# JPA 설정
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
application.properties에 연결 정보를 입력.
✔️ 결과

인텔리제이에서 코드를 작성한 후 실행하면 entity 클래스들이 테이블로 생성된 것을 확인할 수 있다.
아주 기초적인 내용이지만 처음에 DB 선택 이유부터 과정까지 모두 남겨놓고 싶어서 포스팅을 해보았다.

'개발일지 > League Linker' 카테고리의 다른 글
🤦🏻♀️고민하기 - Spring Security_API 경로에 따른 인증 및 역할 관리(1) (2) | 2024.09.04 |
---|---|
[spring boot] - Swagger로 API 문서화하기 (0) | 2024.09.03 |
[개발] - MapStruct를 사용하여 매핑 구현하기 (0) | 2024.09.01 |
🚨ERROR - [spring boot] GET 요청 시 406 오류 발생 (0) | 2024.08.31 |
🤦🏻♀️고민하기 - [개발환경] 포크 앤드 풀(Fork and Pull) 워크플로우 (0) | 2024.08.10 |