Languages/SQL

H2 데이터베이스 설치

잔망루피 2020. 12. 12. 22:01
반응형

http://h2database.com/html/download-archive.html

 

Archive Downloads

 

h2database.com

H2 데이터베이스를 다운로드하는 곳

최신 버전보다 이전 버전을 사용하자.

최신 버전을 사용해보니 에러가 많다 😥😥

 

 

1. cmd에서 h2 폴더의 bin으로 이동한다.

cd C:\Program Files (x86)\H2\bin

 

2. h2.bat을 치면 H2 데이터베이스를 사용할 수 있는 페이지가 뜬다.

 

 

 

잘 안 열리면 앞에만 IP를 localhost로 바꾼다.

JDBC URL은 jdbc:h2:~/test다.

8082포트가 막힐 경우에는(java.net.BindException) cmd에서 netstat -ano|find "8082" 한 후에 taskkill /f /pid 8082의 pid넘버를 치면 프로세스가 종료됨.

로컬주소가 0.0.0.0:8082의 Pid를 입력하자.

첨에 강의에서 기본값대로 연결했다가 폴더에 있는 test.mv.db 지우고 톰켓에 연결한다고 jdbc:h2:tcp://localhost/~/test를 연결했는데 에러뜬다. 걍 윈도우는 위에 localhost로 바꿔주고 JDBC URL 건들지마.

 

연결을 클릭하면 접속된다.

 

spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa

spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none

application.properties에 h2 데이터베이스를 사용할 수 있도록 위와 같이 작성

spring.jpa.hibernate.ddl-auto =update JPA에 의해 변경된 부분만 추가(이미 존재하는 컬럼의 이름을 바꾸는 것은 JPA가 자동으로 업데이트 해주지는 않음, 제거도 없음)
=validate 엔티티와 테이블이 정상적으로 매핑되어있는지만 검증
=create 이전 스키마 삭제 후 다시 생성
=create-drop 스키마를 생성하고 애플리케이션이 종료되면 삭제
=none 초기화 동작이 없음
spring.jpa.generate-ddl spring.jpa.hibernate.ddl-auto 속성을 사용할 것인가?
기본값은 false
spring.jpa.show-sql JPA가 생성한 SQL문 출력
spring.jpa.properties.hibernate.dialect 쓰지말자.
spring.mvc.hiddenmethod.filter.enabled =true/false
HTML에서 put, delete로 서버에 요청을 보낼 때

 

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

테이블 생성

java에서 long은 db에서 bigint

generated by default as identity는 값을 setting하지 않고 insert하면 db에서 자동으로 id값을 채워준다.

 

select*from member;

조회

 

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

name으로 'spring'을 삽입.

 

alter table 테이블명
add foreign key (외래키)
references 참조테이블명(참조할키)

외래키 추가

 

show columns from 테이블명;

테이블 구조 조회

 

 

 

참고 👇

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

 

https://kyu9341.github.io/java/2020/04/14/java_springBootDBinit/

 

스프링 부트 - 데이터베이스 초기화 - kwon | kwon's Blog

스프링 부트 - 데이터베이스 초기화 JPA를 사용한 데이터베이스 초기화 appication.properties123456789101112spring.datasource.driverClassName=org.mariadb.jdbc.Driverspring.datasource.url=jdbc:mariadb://localhost:3307/springbootspring.

kyu9341.github.io

 

https://2dongdong.tistory.com/66

 

[Spring boot] JPA Dialect(방언) 설정에 관하여

결론만 말하면 "Dialect 설정은 하지 않아도 된다." 입니다. 1. Dialect 란? ORM의 큰 특징중 하나는 객체 맵핑을 통해 자동으로 쿼리를 작성해주는 것입니다. 하지만 수 많은 DBMS 종류가 있고 각 종류

2dongdong.tistory.com

 

https://wookcode.tistory.com/68

 

[Springboot] Spring 헷갈리는 내용 (21.03.25)

Springboot 공부하면서 헷갈리는 내용 기록 1. PUT, DELETE 요청 방법 / @RequestBody form 태그에서는 put,delete로 보내면 get으로 들어간다. 그래서 ajax로 put 보냈는데 또 안됨(타임리프 쓰기전에는 잘됬음)..

wookcode.tistory.com

 

https://pythonq.com/so/sql/199799

 

sql - H2 데이터베이스에서 외래 키 제약 조건 정의 - IT 툴 넷

sql - H2 데이터베이스에서 외래 키 제약 조건 정의 기사 출처 sql database foreign-keys h2

pythonq.com

 

반응형