H2는 Java로 작성된 RDBMS으로 인메모리 모드와 서버 모드로 실행할 수 있으며, 간편하고 빠르게 사용할 수 있다는 특징을 가지고 있다.
이를 사용하면 스프링부트 애플리케이션에서도 쉽게 데이터베이스를 활용할 수 있는데
오늘은 h2 설치법과 사용법
에 대해서 알아보도록 하자
아래의 링크에서 각자의 운영체제 환경에 맞는 H2를 다운로드 받는다.
h2 다운로드 바로가기
압축을 풀고 터미널에서 /h2/bin 디렉토리내에서 h2.bat(윈도우) 혹은 h2.sh(Mac)를 실행한다.
이 때 zsh: permission denied: ./bin/h2.sh
에러 메세지가 뜬다면 파일 권한 때문에 발생하는 문제로 chmod 755 h2.sh
명령어로 권한을 부여해줘야 한다
cd h2/bin //h2의 bin 디렉토리로 이동
chmod 755 h2.sh //권한 부여
./h2.sh //h2 실행
그러면 다음과 같은 아이콘이 뜨며 웹페이지가 열리는데
이때 무한 로딩이 발생한다면 URL의 IP 주소를 localhost
로 변경하면 된다.
http://localhost:8082 주소로도 접속이 가능하다.
다음과 같은 창이 뜨면 h2 콘솔에 접속된 것이다.
H2 연결을 위해 Test Connection을 누르면 다음과 같은 오류 메세지가 뜬다.
해당 디렉토리 내에 test라는 이름의 database가 없어서 h2에서 읽어올 수 없기 때문에 발생하는 에러이다.
그럴 때는 Generic H2(Server) -> Generic H2(Embedded)로 바꿔주고 Connect(연결)를 누르면 test라는 db파일이 자동으로 생성된다.
또는 /Users/{사용자명} 디렉토리 내에서 test.mv.db을 직접 생성해도 된다
위 버튼을 클릭 후 다시 돌아와서 Generic H2(Server)로 변경 후 Test Connection(연결 시험)을 누르면 시험 성공이 뜨고 Connection 버튼을 눌러 데이터베이스에 연결할 수 있다!
테스트를 하기 위해 쿼리를 활용해 간단한 테이블을 만들어보자.
CREATE TABLE member (
member_id INT PRIMARY KEY,
name VARCHAR(255)
);
쿼리 입력 후 실행 버튼을 누르면 member 테이블이 생성된 것을 확인할 수 있다!