DataBase/H2 DataBase

H2 Database 설치 및 IntelliJ 세팅 (Window)

유혁스쿨 2023. 2. 16. 21:13
728x90
반응형

 

H2 DB는 교육용으로 사용하거나 실무에서 TEST목적으로 사용하는 가벼운 데이터베이스이다.

인프런 김영한 님의 강의를 들으면서 설치하고 세팅을해본다.

우선은 H2 DB로 JDBC, JDBCTepmlate, JPA를 구현해본 뒤 추후 MySQL로 변경할 예정이다.

 

https://www.h2database.com/html/main.html 에 접속한다

 

H2 Database Engine

H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2.5 MB jar file size     Supp

www.h2database.com

빨간색으로 동그라미쳐진 Windows Installer를 통해 Installer를 다운받은 뒤 Installer를 실행하여 H2 DB를 설치한다.

 

설치 완료후 시작표시줄에서 h2를 검색하면 나오는 H2 Console을 실행한다.

 

브라우저 창이 열리면서 다음과같은 화면이 출력된다.

 

JDBC URL : ~/test는 home에 있는 test파일을 의미한다. window에서 home은 내문서가 된다.

 

사용자명과 비밀번호는 건드리지 않고 [연결] 버튼을 누른다.

 

내 문서에 다음과같은 두개의 파일이 생성되었다.

 

 

위와같이 H2 Database에 연결이되며, 좌측 상단에 연결끊기 라는 툴팁이 뜨는 버튼을 클릭하면 접속이 종료되고 초기 페이지가 출력된다.

 

JDBC URL에 설정된 jdbc:h2:~/test 와 같이 파일로 직접 접근하게되면 애플리케이션과 WebConsle에 동시에 접근이 불가능할 수 있기 때문에 jdbc:h2:tcp://localhost/~/test 경로를 입력하여 접속하는걸 권장한다.

이는 여러군데서 동시에 접속이 가능하기 위해 파일에 직접 접근하는것이 아닌 소켓을 통해 접근하도록 설정하는것이다.

 

 

이제 H2 데이터베이스에 테이블을 만들어본다.

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

블록지정된 박스에 member 테이블을 생성하는 sql문을 입력한다. (사진에서 identify를 identity로 변경하여야 함... 오류발생)

 

id의 컬럼타입인 bitint는 자바에서 Long타입일 경우 지정해준다.

generated by default as identity는 id를 null값으로 insert하게될때 DataBase가 자동으로 null값을 채워준다.

Oracle의 Sequence 혹은 MySQL의 AutoIncrement와 같다고 이해하면 된다.

 

insert into member(name) values('spring');
insert into member(name) values('spring2');

다음 구문을 실행한다.

 

 

추가한 뒤 조회를 해보면 generated by default as identity 제약조건에 의해 ID값이 자동으로 1씩 증가하여 저장되는것을 확인할 수 있다.

 

 

스프링 부트 Gradle 기반의 세팅이다.

20~23번 라인의 코드를 심어주고 우측 상단의 코끼리버튼을 클릭하면 dependencies 라이브러리 Build가 진행된다.

코끼리 코를 누르면 인텔리제이 우측 하단에 Build가 되고있다는것을 보여준다.

 

 

 

application.properties파일에 다음 문장을 추가한다.

datasource의 드라이버 종류와 DB접속 URL을 입력하는것이다.

이렇게 세팅하면 자동으로 Database에 접속한다.

 


우측의 Database를 선택한다.

 

인텔리제이에서도 Connection 연결이 가능해진다.

728x90
반응형