https://www.h2database.com/html/main.html
위 사이트로 접속한다.
압축을 풀고 h2폴더의 bin폴더로 들어가면
이렇게 목록이 있는데 여기서 h2w.bat을 열어주면된다. 이때, mac사용자는 h2.sh를 열면된다.
크롬에서 이런 화면이 열리게 된다.
그럼 이제 sts에서 jdbc경로를 받아서 localhost에서 h2 console창을 열어보도록 하겠다.
먼저, application.properties에서 아래와 같이 설정해준다.
#참고:yml(야믈)확장자는 =다음에 공백을 둬야한다.
spring.application.name=PrjJpa02
#server port number
server.port=9090
# 한글 utf-8 로 강제 인코딩
server.servlet.encoding.force=true
# 프로젝트랑 h2 db 연결한다. http://localhost:9090/h2-console
server.h2.console.enabled=true
그리고 build.gradle에서 다음과 같이 설정해준다.
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.11'
id 'io.spring.dependency-management' version '1.1.6'
}
group = 'com.green'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
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'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}
주소창에 http://localhost:9090/h2-console를 입력한다. 이때 serverport에따라서 9090부분은 변경될 수 있다.
위와 같은 화면이 웹브라우저에서 열리게 되는데 이때 JDBC URL에 넣어줄 주소는 프로젝트를 컴파일을 한 후에 console창에 나오는 jdbc url을 입력해주면 된다.
[2m2024-11-08T12:21:22.087+09:00[0;39m [32m INFO[0;39m [35m17680[0;39m [2m---[0;39m [2m[PrjJpa02] [ restartedMain][0;39m [2m[0;39m[36mcom.zaxxer.hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - Starting...
[2m2024-11-08T12:21:22.416+09:00[0;39m [32m INFO[0;39m [35m17680[0;39m [2m---[0;39m [2m[PrjJpa02] [ restartedMain][0;39m [2m[0;39m[36mcom.zaxxer.hikari.pool.HikariPool [0;39m [2m:[0;39m HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:6113c5fa-c2fe-4db9-aadc-206720c619d2 user=SA
[2m2024-11-08T12:21:22.420+09:00[0;39m [32m INFO[0;39m [35m17680[0;39m [2m---[0;39m [2m[PrjJpa02] [ restartedMain][0;39m [2m[0;39m[36mcom.zaxxer.hikari.HikariDataSource [0;39m [2m:[0;39m HikariPool-1 - Start completed.
[2m2024-11-08T12:21:22.444+09:00[0;39m [32m INFO[0;39m [35m17680[0;39m [2m---[0;39m [2m[PrjJpa02] [ restartedMain][0;39m [2m[0;39m[36mo.s.b.a.h2.H2ConsoleAutoConfiguration [0;39m [2m:[0;39m H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:6113c5fa-c2fe-4db9-aadc-206720c619d2'
url=jdbc:h2:mem:6113c5fa-c2fe-4db9-aadc-206720c619d2 user=SA
밑줄부분을 입력하면되는데 이건 사용자마다 주소가 다르다.
이제 sql staement에
CREATE TABLE users (
id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(100) NOT NULL,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
다음과 같이 입력한 후 실행하면 테이블이 생성된다. h2 console은 오라클보단 mysql과 더 문법이 비슷하므로 이 점에 주의하자.
H2 console의 사용의도
- 내장형 데이터베이스: H2는 경량의 내장형 데이터베이스로, 별도의 설치가 필요 없이 Spring Boot와 함께 쉽게 설정할 수 있다.
- 테스트 용이성: H2는 메모리 기반으로 동작할 수 있어 데이터베이스를 초기화하고 테스트할 때 유용하다.
- SQL 쿼리 실행: H2 Console은 SQL 쿼리를 직접 실행하고 결과를 확인할 수 있는 웹 기반 인터페이스를 제공한다.
'기타' 카테고리의 다른 글
마크다운 읽기 (0) | 2024.11.08 |
---|---|
정규화(Normalization) (0) | 2024.09.05 |
웹 서버 웹 애플리케이션 서버 동작 방식 (0) | 2024.08.05 |
개발자를 위한 유용한 사이트 모음(추후 계속 업데이트) (0) | 2024.08.04 |
1주차(컴퓨터개론) (0) | 2024.08.01 |