[스프링 입문] H2 DB

atdawn·2024년 5월 13일

SPRING BOOT+JPA

목록 보기
9/49

📹 참고 : 인프런 [ 스프링 입문 - 김영한 ]


H2 DataBase 설치

장점 : 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공

설치 방법
1. https://www.h2database.com 다운로드 및 설치
2. 스프링 부트 버전에 맞춘다.
3. 압축해제된 경로 중 ~ h2/bin 으로 이동
4. 권한 주기: chmod 755 h2.sh (맥 유저만)
5. 실행: ./h2.sh

오류 😱
스프링 부트 버전에 맞게 설치하고, 권한까지 주었지만 왜인지 모르게 '응용 프로그램이 예기치 않게 종료되었습니다.' 라는 오류가 떠서 homebrew 로 설치했다..

homebrew 로 H2 설치 하는 방법
1. 콘솔창에 $ brew install h2
2. $ h2 -web
3. 나오는 주소를 복사하여 브라우저에 입력.
4. 무한 로딩 오류가 나온다면 앞 부분을 http://localhost:8082/로 변경.

그럼 이러한 화면이 뜬다.

  • JDBC URL : 내 파일 경로. 내 홈에 있는 테스트 파일.

    데이터베이스 파일 생성 방법

  • jdbc:h2:~/test (최초 한번)
    • 이렇게 파일로 접근하게 되면 애플리케이션과 이 웹 콘솔이 동시에 접근할 때 오류가 날 수 있다.
  • ~/test.mv.db 파일 생성 확인
  • 이후부터는 jdbc:h2:tcp://localhost/~/test 이렇게 접속 (소켓을 통해서 접근)

오류 😱

하지만 오류가 발생 ^,^...
나는 brew를 통해 h2 에 접속했는데, tcp 접속도 허용하기 위해서
h2 를 실행할 때 $ bash h2 -tcp -web -pg 로 입력해야한다.
(참고: https://velog.io/@adorableco/Springh2-Mac-M1-Connection-refused-by-localhost-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0)


소켓으로 연결 성공...


테이블 생성하기

member table

 create table member (
      id   bigint generated by default as identity,
     name varchar(255),
     primary key (id)
);

데이터도 넣어보자

INSTERT INTO MEMBER VALUES (1,'spring1');
INSTERT INTO MEMBER VALUES (2,'spring2');

데이터도 정상적으로 들어간 것을 확인하였다.


profile
복습 복습 복습

0개의 댓글