[ ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ (1) ]

 

Spring - [intelliJ,Thymeleaf] ๊ฐ„๋‹จํ•œ ๋Œ“๊ธ€์ฐฝ ๋งŒ๋“ค๊ธฐ(1)

[ @PostMapping์œผ๋กœ ๋žœ๋คํ•œ ์ˆซ์ž 6๊ฐœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ] Spring - [intelliJ,Thymeleaf] @PostMapping์œผ๋กœ ๋žœ๋ค ์ˆซ์ž 6๊ฐœ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ[ ๋กœ๋˜, ๋ฒ„ํŠผ ๋ˆŒ๋Ÿฌ ๋žœ๋คํ•œ ์ˆซ์ž 6๊ฐœ ์ถœ๋ ฅํ•˜๊ธฐ(2) ] Spring - [intelliJ,Thymeleaf] ๋กœ๋˜,

post-this.tistory.com

 

 

 

 


 

 

H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ
๋Œ“๊ธ€ ๊ด€๋ฆฌํ•˜๊ธฐ.

 

 

 

1. H2 ์„ค์น˜ํ•˜๊ธฐ.

 

 

โ–ก ์•„๋ž˜ ๋งํฌ ๋“ค์–ด๊ฐ€๊ธฐ.

 

https://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

h2database.com

 

 

โ–ก mac์€ All Platforms ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ.

 

 

 

 

โ–ก ์••์ถ•ํ’€์–ด์ฃผ๊ธฐ.

 

 

 

โ–ก ํ„ฐ๋ฏธ๋„ ๋“ค์–ด๊ฐ€๊ธฐ.

 

1. ์••์ถ•์„ ํ’€์–ด์ค€ ํŒŒ์ผ์˜ ์œ„์น˜๋กœ ๋“ค์–ด๊ฐ„๋‹ค.

    : cd ๊ฒฝ๋กœ/bin

 

2. ๊ถŒํ•œ ๋ถ€์—ฌ

    : chmod 755 h2.sh

 

3. ์ฝ˜์†” ์ ‘์†

    : ./h2.sh

 

 

 


 

 

 

 

2. ์˜์กด์„ฑ ์ฃผ์ž…ํ•˜๊ธฐ.

 

โ–ก build.gradle์— H2 ์˜์กด์„ฑ ์ฃผ์ž…

runtimeOnly 'com.h2database:h2'

 

 

 

โ–ก build.gradle์— jpa ์˜์กด์„ฑ ์ฃผ์ž…

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

 

 

 


 

 

 

3. application.properties ์ž‘์„ฑํ•˜๊ธฐ.

 

โ–ก  DataSource ์„ค์ •ํ•˜๊ธฐ.

spring.application.name=LuckyLotto

spring.datasource.url=jdbc:h2:file:./data/mydb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=

 

h2๋Š” ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. ๊ทธ๋ƒฅ ์‰ฝ๊ฒŒ ์ž๋ฐ”์™€ ์•ˆ์„ฑ๋งž์ถคํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ฃผ๋กœ ์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. h2๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ๊ฐ€ ์ง€์›ํ•˜๋Š” ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ธ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋„์šฐ๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žฌ๊ฐ€๋™๋  ๋•Œ๋งˆ๋‹ค ์ดˆ๊ธฐํ™”๊ฐ€ ๋œ๋‹ค.

 

url = ์„ ์„ค์ •ํ•˜์—ฌ ๋‚˜์ค‘์— h2 ํ”„๋กœ๊ทธ๋žจ ์ฐฝ์— ์ ์–ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. driver ์ฝ”๋“œ๋Š” Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉํ•  JDBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ง€์ •ํ•˜๋Š” ์„ค์ •์ด๋‹ค. sa๋Š” ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ด๋ฆ„์ด๊ณ  password๋Š” ๊ทธ๋ƒฅ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค. 

 

 

 

โ–ก  DataSource ์„ค์ •ํ•˜๊ธฐ.

spring.jpa.hibernate.ddl-auto=update
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

 

hibernate๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•˜๋ฉฐ update๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ์‹œ ํ…Œ์ด๋ธ”์ด ์—†์œผ๋ฉด ์ƒ์„ฑํ•˜๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ƒ๊ธฐ๋ฉด ์ˆ˜์ •ํ•˜๋„๋ก ํ•œ๋‹ค. ํ˜„์žฌ๋Š” ๊ฐœ๋ฐœ ์ค‘์ด๋‹ˆ update๋ผ๊ณ  ์ ์—ˆ์ง€๋งŒ, ๋งŒ์•ฝ ์šด์˜์„ ํ•˜๊ฒŒ๋œ๋‹ค๋ฉด validate๋‚˜ none์„ ๊ถŒ์žฅํ•œ๋‹ค. 

 

console.enabled๋กœ ์ฝ˜์†”์„ ํ™œ์„ฑํ™”ํ•œ๋‹ค. ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด entity์— ์ ์–ด๋‘” id์™€ content ์š”์†Œ๋“ค์ด ๋ณด์ด์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. console.path๋ฅผ ํ†ตํ•ด ์ฝ˜์†”์— ์ ‘๊ทผํ•  URL์„ ์ง€์ •ํ•œ๋‹ค.

 

 

 


 

 

 

4. h2 ๋“ค์–ด๊ฐ€๊ธฐ.

 

โ–ก  ๋ธŒ๋ผ์šฐ์ €์— h2 ํ”„๋กœ๊ทธ๋žจ ์ ‘์†ํ•˜๊ธฐ.

 

http://localhost:8080/h2-console

 

h2-console์ด ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ๊ฒฝ๋กœ ์ด๋ฆ„์œผ๋กœ ํ–ˆ์œผ๋ฉด ๊ทธ ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

 

 

โ–ก  ์„ค์ •ํ•œ ์ •๋ณด ๋„ฃ๊ธฐ.

JDBC URL: jdbc:h2:file:./data/mydb

User Name: sa

ํŒจ์Šค์›Œ๋“œ๋Š” ์„ค์ • ์•ˆํ–ˆ์œผ๋‹ˆ ๋„˜์–ด๊ฐ€๋ฉด ๋œ๋‹ค.

 

 


 

 

 

5. h2 ์‚ฌ์šฉํ•˜๊ธฐ.

 

โ–ก  ๋Œ“๊ธ€์„ ๋‚จ๊ฒผ๋‹ค.

 

 

โ–ก  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™•์ธํ•ด๋ณด๊ธฐ.

 

1. ์ „์ฒด ์กฐํšŒํ•˜๊ธฐ.

SELECT * FROM COMMENT_LIST;

 

 

2. id๊ฐ€ 21๋ฒˆ์ธ ๋Œ“๊ธ€ ์‚ญ์ œํ•ด๋ณด๊ธฐ.

DELETE FROM COMMENT_LIST WHERE id = 21;

 

ํŽ˜์ด์ง€์—์„œ๋„ ์‚ญ์ œ๋œ ๊ฑธ ํ™•์ผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 


 

 

 

๐Ÿชฝ

"ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

 

 

 

[ ๋ธ”๋กœ๊ทธ์— ์“ด ๋‚ด์šฉ๋“ค์˜ ์ถœ์ฒ˜๋Š” ์•„๋ž˜์— ์ ์–ด๋‘˜ํ…Œ๋‹ˆ

๋“ค์–ด๊ฐ€์„œ ์ฝ์–ด๋ณด์‹œ๋ฉด ๋”์šฑ ๋„์›€์ด ๋˜์‹ค ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค ]

 

 

 

 

 

- H2์— ๋Œ€ํ•˜์—ฌ

 

H2 Database ๋ž€? ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฒ•?

H2 Database ๋ž€? H2๋Š” ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด๋‹ค. ์žฅ์  ๋”ฐ๋กœ ์„ค์น˜๊ฐ€ ํ•„์š”์—†๋‹ค ์šฉ๋Ÿ‰์ด ๋งค์šฐ ๊ฐ€๋ณ๋‹ค ์›น์šฉ ์ฝ˜์†”(์ฟผ๋ฆฌํˆด) ์ œ๊ณตํ•˜์—ฌ ๊ฐœ๋ฐœ์šฉ ๋กœ์ปฌDB๋กœ ์‚ฌ์šฉ ์šฉ์ด ํŠน์ง• JAVA๋กœ ์ž‘์„ฑ

yjkim-dev.tistory.com

 

 

 

- H2์— ๋Œ€ํ•˜์—ฌ

 

h2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์น˜ ๋ฐ ์‹คํ–‰๋ฐฉ๋ฒ• ์ •๋ฆฌ

๊ฝค ๊ฐ€๋ฒผ์šด DB์ด๊ธฐ์— ์‹ค๋ฌด์—์„œ local์— ์„ค์น˜ํ•ด์„œ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๋Š” h2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.๋‹จ์ ์œผ๋กœ๋Š” ๋กœ์ปฌ์šฉ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ปดํ“จํ„ฐ ๋‹ค ๋„๋ฉด ๋‚ ์•„๊ฐ‘๋‹ˆ๋‹ค.  ๐Ÿ˜‡ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

gray-tree.tistory.com

 

 

 

- H2 ์—ฐ๋™๋ฐฉ๋ฒ•

 

[Spring Boot] H2 ์—ฐ๋™ ๋ฐฉ๋ฒ•

๐Ÿ’ก build.gradle์— dependency ์ถ”๊ฐ€ ๐Ÿ’ก application.properties ํ˜•์‹ ๐Ÿ’ก application.yml ํ˜•์‹

velog.io

 

 

 

- H2 ์‚ฌ์šฉ์„ค์ •

 

Springboot + H2 Console ์‚ฌ์šฉ ์„ค์ •

H2 Console์ด๋ž€? - ์ž‘์€ ์šฉ๋Ÿ‰(2M)์˜ ์ž‘๊ณ  ๋น ๋ฅธ DB - JDBC API ์ง€์› - ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ Console ์ง€์› - ์ธ ๋ฉ”๋ชจ๋ฆฌ(In-Memory) ๊ธฐ๋ฐ˜ Server ๋ชจ๋“œ์™€ Embedded ๋ชจ๋“œ ์ง€์› ์ธ ๋ฉ”๋ชจ๋ฆฌ(In-Memory) DB ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €

jamie95.tistory.com

 

+ Recent posts