1. h2 데이터 베이스
- 컴퓨터에 내장된 램(RAM) 메모리에 의존하는 데이터베이스
- 램에 의존하기 때문에 서버 재가동 시 기존의 데이터가 사라짐, 그래서 초기 개발 단계에서 사용하기 좋고, 실습이나 예제 연습 때 간편하게 이용할 수 있다는 장점이 있음
2. h2 데이터 베이스의 3가지 모드(mode)
1) Embeded mode: JVM 위에서 실행됨, H2 DB데이터를 로컬에 저장하고 사용, 외부 접근 불가(콘솔로 접근), 설정 간편
2) Local mode: JVM 위에서 실행, H2 DB데이터를 로컬에 저장하지 않고 메모리에만 생성, 인메모리, 외부 접근 불가(콘솔로 접근), 설정 간편
3) Server mode: 영속 사용, 외부 접근 가능, 추가 설정 필요
3. H2 데이터베이스와 인텔리제이(IntelliJ) 연동으로 더 간편하게 DB확인하기
1) build.gradle 수정
// runtimeOnly가 아닌 implementation으로 의존성 수정
implementation 'com.h2database:h2'
2) TCP Server를 Spring Boot의 Bean으로 등록하여 외부 접속 허용하기
외부 접속 허용을 하면 TCP Port를 이용해서 외부에서 접속이 가능함
여기서 외부 접속이란 인텔리제이러 접속하는 것을 말함
@Configuration
public class H2ServerConfig {
@Bean(initMethod = "start", destroyMethod = "stop")
public Server H2DatabaseServer() throws SQLException {
return Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092");
}
}
3) application.properties 설정
## h2 DataBase
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:testdb;MODE=MYSQL;
spring.datasource.username=sa
spring.datasource.password=
4) application.properties에 설정한 값을 입력하여 DB 연결
5) 인텔리제이 내부에서 콘솔을 이용해서 데이터 넣어보기
'오늘의 공부 & 기록' 카테고리의 다른 글
스프링 강의와 HashMap, 스트림 복습 (1) | 2023.01.29 |
---|---|
스프링 강의 메모 (0) | 2023.01.28 |
RuntimeException 런타임 예외 종류 (0) | 2022.11.29 |
빌더패턴(Builder Pattern)과 @Builder (0) | 2022.11.26 |
📝 쿠키와 세션 (0) | 2022.11.18 |