-
스프링 부트 - 회원 관리 예제 실습 (H2 데이터베이스 설치)Spring Framework 2022. 4. 16. 00:01
이전에 만든 Repository는 MemoryRepository이기 때문에 서버를 한번 재구동하면 데이터가 모두 사라지게 됩니다.
MemoryRepository 대신에 DB 저장소를 사용하기 위해서 H2 데이터베이스를 설치해보겠습니다.
잠깐 MySql, Oracle을 사용하는 대신 H2 데이터 베이스를 사용하는이유?
용량이 적고 가벼워 교육용으로 좋고 웹에 admin 화면도 제공함
1. H2 Database 홈페이지에 접속합니다.
https://h2database.com/html/main.html
2. 운영체제에 맞는 다운로드(저는 Windows Installer로 설치합니다.)
3. H2 Console 실행 ( Command Line이 아닌 걸로 선택합니다)
4. 접속한 상태로 연결을 눌러주게 되면 다음과 같은 에러가 발생합니다.
C:/Users/babab/test 폴더가 확인되지 않는다고 하므로 파일을 생성하고 오겠습니다.
해당 경로에 'test.mv.db' 텍스트 파일을 생성해줍니다
우클릭 -> 새로 만들기 -> 텍스트 문서 생성으로 하지 마시고 윈도우 탐색기에서 메모장 여신 뒤에 해당 경로와 이름에 (모든 파일)로 파일 이름 test.mv.db 설정하셔서 저장하시면 됩니다.
5. 오류가 발생하지 않으면 해당 창으로 정상적으로 이동합니다.
6. 하얀 텍스트 창에 다음과 같이 입력하고 실행하면 MEMBER table이 생성됩니다.
create table member ( id bigint generated by default as identity, name varchar(255), primary key (id) );
primarykey는 id이며 값을 넣지 않으면 db에서 자동적으로 값을 증가하면서 넣어줍니다.
name은 문자열 데이터를 받을 수 있습니다.
위의 코드와 같이 MemeryRepository에서도 회원가입 시 자동적으로 sequence를 증가시킨 것과 동일한 원리입니다.
7. 하얀 텍스트 창에 다음과 같이 입력하고 실행하면 MEMBER table에 data가 생성됩니다.
INSERT INTO MEMBER (name) VALUES ('spring');
SELECT * FROM MEMBER MEMBER;
ID가 자동적으로 1로 생성되고 NAME은 spring이 들어간 것을 확인할 수 있습니다.
8. 프로젝트에 sql 폴더를 만들고 ddl.sql을 만들어 테이블을 관리합니다.
drop table if exists member CASCADE; create table member ( id bigint generated by default as identity, name varchar(255), primary key(id) );
이를 통해 Git 등을 통해 변경내역을 형상 관리할 수 있습니다.
'Spring Framework' 카테고리의 다른 글
필터와 인터셉터의 차이점 (0) 2022.05.22 스프링 부트 - 회원 관리 예제 실습 (순수 JDBC로 H2 데이터베이스 연동) (0) 2022.04.24 스프링 부트 - 회원 관리 예제 실습 (웹 MVC 개발) (0) 2022.04.11 스프링 부트 - 회원 관리 예제 실습 (자바 코드로 직접 스프링 빈 등록하기) (0) 2022.04.08 인텔리제이로 스프링부트 시작하는 법 (0) 2022.03.24