본문 바로가기

Backend/Spring

[Spring] DB설치(h2 데이터베이스)

728x90

지금까지는 데이터베이스를 사용하지 않고, 메모리레포지토리를 만들어서 사용했다.

하지만, 이는 서버가 내려가면 모든 데이터가 삭제되기 때문에 적합하지 않다.

 

이제 데이터베이스를 실제로 설치해볼 것, H2라는 가벼운 DB를 사용할 것이다.

 

목차

  • H2 데이터베이스 설치
  • 데이터 베이스 접근 기술 (차례대로 4가지)
    • 순수 Jdbc : (20년 전 쯤..)
    • 스프링 JdbcTemplate : 스프링에서 Jdbc를 편리하게 쓸 수 있도록 제공
    • JPA : 개발자가 직접 쿼리를 짜지 않아도 데이터베이스를 조작할 수 있게됨 (10년전쯤..)
    • 스프링 데이터 JPA : 스프링에서 JPA를 편리하게 쓸 수 있도록 개발된 기술

 

 

 

H2데이터 베이스 설치

 

 

https://www.h2database.com

 

H2 Database Engine (redirect)

H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mo

www.h2database.com

(M1기준)

사이트에 접속해서 All Platform으로 다운받는다.

 

압축을 푼 후, 터미널을 이용해 bin폴더 내에 들어있는 h2.sh파일을 실행해준다.

이 때, 권한 부여가 꼭 필요하다(chmod)

 

최초 실행시 다음과 같이 뜨는데, 연결을 눌러 연결해준다. 

그 후, 나와서 test.mv.db파일이 생성되었는지 확인해주어야 한다.

참고:나오는 버튼

 

생성되었다면, 성공 

이 이후부터는 접근시 소켓을 이용하여 다음과 같이 접근해 주어야 여러곳에서 접근이 가능하다고 한다.

 

참고로 설치과정이나 사용도중 문제가 생겼을 때는, 

rm명령어를 이용하여 test.mv.db파일을 제거하고, 터미널도 종료 후 처음부터 다시하면 오류가 해결되는 경향이 있다고 한다. 

 

H2 데이터베이스 설치완료//

 

이제 테이블을 만들어 준다.

우리가 메모리레포지토리에 넣어둔 멤버는 다음과 같은 field들을 가지고있다. 

즉, 이는 "member"테이블에 attribute로 ID, name값을 가지게 설정하면 될것

 

create table member
     (
         id   bigint generated by default as identity, -- bigint =(java)long , AUTOINCREASE
         name varchar(255),
         primary key (id)
);MEMBER

 

 

 

실행을 누르면 다음과 같이 생성됨! 

 

테스트용으로 데이터 넣고 조회해보기

INSERT INTO 

 

SELECT

 

 

TIP) db관리를 위해 따로 디렉토리를 하나 만들어두자.

 

728x90

'Backend > Spring' 카테고리의 다른 글

[Spring] db접근기술(JPA, Spring JPA)  (0) 2021.09.14
[Spring] 데이터베이스 접근 기술(Jdbc)  (0) 2021.09.14
[Spring] 웹 MVC개발  (0) 2021.09.13
[Spring] Spring Bean2  (0) 2021.09.10
[Spring] Spring Bean1  (0) 2021.09.10