본문 바로가기
Framekwork/SPRING

[자바/스프링] H2 데이터베이스 설치

by 아이엠제니 2023. 2. 23.

 

 

 

스프링 DB 접근 기술

  • H2 데이터베이스 설치
  • 순수 JDBC
    • 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API임
    • 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공함
  • 스프링 통합 테스트
  • 스프링 JdbcTemplate
  • JPA
    • 이 기술을 쓰면 객체를 바로 db에 쿼리없이 저장하고 관리할 수 있음
    • 스프링만큼 오래된 기술
  • 스프링 데이터 JPA

 


H2 데이터베이스 설치

이전 시간에 인텔리제이에서 작업했던 거는 메모리에 저장을 해서, 서버가 내려가면 회원 데이터가 모두 사라짐.

당연히 그렇게 되면 안 됨.

그래서 실무에서는 데이터베이스에 데이터들을 저장하고 관리함.

 

심플하고 간단한 H2 데이터베이스를 설치하기로 함.

 

https://www.h2database.com/html/download-archive.html

인프런 인강에서처럼 1.4.200 으로 설치

 

H2 폴더는 C드라이브 안에 있었다.

💡Program Files (x86) > H2 > bin > h2.bat

 

  • `h2.bat` 더블 클릭하면 위와 같은 화면이 뜬다.

 

👉 Home에 ` test.mv.db`가 있는지를 먼저 확인해야 한다.

윈도우의 경우 `C드라이브 > 사용자` 안에서 확인할 수 있음.

 

jdbc:h2:tcp://localhost/~/test

이렇게 적으면 파일에 직접 접근하는 게 아니라 소켓을 통해서 접근한다고 함.

 

JDBC URL을 변경 후 `연결` 버튼 클릭 시 아래와 같은 에러가 났다.

H2 Console
Sorry, remote connections ('webAllowOthers') are disabled on this server.

 

`h2.bat`을 열었을 때 설정되어있던 IP를 `localhost`로 바꾼 후 다시 연결을 클릭하니!

화면이 잘 나옴.

drop tabel if exists member CASCADE;
create table member
(
  id bigint generated by default as identity,
  name varchar(255),
  primary key(id)
);
CASCADE: 제거할 요소를 참조하는 다른 모든 개체를 함께 제거함. 즉 주 테이블의 데이터 제거 시 각 왜래키와 관계를 맺고 있는 모든 데이터를 제거하는 참조 무결성 제약 조건을 설정하기 위해 사용됨 (참고: 시나공 정처기 필기)
  • java는 long인데, sql에서는 bigint임.
  • generated by default as identity: null 값이 들어오면 자동으로 id 값을 채워줌

 

select * from member;

 

👉 데이터 넣기

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

값이 들어간 걸 확인할 수 있다!

 

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

 

💡ddl 관리

프로젝트에 `sql` 폴더 만들고, 그 안에 `ddl.sql` 파일 만들어서 관리!

나중에 확인하기 쉬움

굿!

 

 

 

[스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 강의 기록
300x250