728x90
H2 Database 연동
특징
- 메모리 기반 가볍고 빠름
- 별도 설치 필요 없음
- 개발/테스트용으로 최적화
의존성 추가 (build.gradle)
implementation 'com.h2database:h2'
application.yml 설정
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
hibernate:
ddl-auto: update
show-sql: true
# 콘솔에서 확인용
spring.h2.console.enabled: true
브라우저에서 http://localhost:8080/h2-console 접속
→ JDBC URL에 jdbc:h2:mem:testdb 입력하고 접속
MySQL 연동
특징
- 국내 실무에서 가장 널리 사용
- 대규모 트랜잭션에 강함
의존성 추가
implementation 'com.mysql:mysql-connector-j'
application.yml 설정
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=Asia/Seoul
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 비밀번호
jpa:
hibernate:
ddl-auto: update
show-sql: true
database-platform: org.hibernate.dialect.MySQL8Dialect
DB 먼저 생성해두어야 함: CREATE DATABASE mydb;
주의사항
- UTF-8 인코딩 설정 필요할 경우:
characterEncoding=UTF-8&useUnicode=true
PostgreSQL 연동
특징
- 오픈소스 고급 DBMS
- JSON, GIS, CTE 등 고급 기능 제공
의존성 추가
implementation 'org.postgresql:postgresql'
application.yml 설정
spring:
datasource:
url: jdbc:postgresql://localhost:5432/mydb
driver-class-name: org.postgresql.Driver
username: postgres
password: 비밀번호
jpa:
hibernate:
ddl-auto: update
show-sql: true
database-platform: org.hibernate.dialect.PostgreSQLDialect
PostgreSQL도 DB 및 사용자 먼저 생성해야 합니다.
공통 JPA 설정 옵션
| 항목 | 설명 |
| ddl-auto | 테이블 자동 생성 전략 (none, create, update, validate, create-drop) |
| show-sql | 실행되는 SQL 콘솔 출력 |
| hibernate.format_sql | SQL 보기 좋게 출력 |
| database-platform | Hibernate Dialect 수동 지정 가능 |
마무리 요약
| DB 종류 |
특징설치 | 용도 |
| H2 | 가볍고 빠름 | 테스트, 학습용 |
| MySQL | 대중적, 성능 안정 | 웹 서비스, 기업용 |
| PostgreSQL | 고급 기능, 확장성 | 데이터 집약 서비스, API 서 |
LIST
'SpringBoot > 데이터베이스 연동' 카테고리의 다른 글
| 트랜잭션 처리 (0) | 2025.04.15 |
|---|---|
| 쿼리 메서드 & JPQL (2) | 2025.04.14 |
| 엔티티(Entity)와 리포지토리(Repository) 만들기 (0) | 2025.04.14 |
| Spring Data JPA 기본 개념 (1) | 2025.04.14 |