Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

์Šคํ”„๋ง ์ž…๋ฌธ - ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ, ์›น MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ 

์Šคํ”„๋ง ์ž…๋ฌธ์ž๊ฐ€ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด๊ฐ€๋ฉด์„œ ์Šคํ”„๋ง ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์ „๋ฐ˜์„ ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Thumbnail
๊น€์˜ํ•œ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€

์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ  ์˜คํ”ˆ ์˜ˆ์ • ์†Œ์‹!

์•ˆ๋…•ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ๋ถ„^^!
๋“œ๋””์–ด ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ  ๊ฐ•์˜๊ฐ€ ์˜คํ”ˆ ์ค€๋น„์— ๋Œ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋žœ๊ธฐ๊ฐ„ ๊ธฐ๋‹ค๋ ค์ฃผ์‹œ๊ณ  ์‘์›ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

DB ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ  ์ „๋ฐ˜์˜ ๋ฐฉ๋Œ€ํ•œ ๋ถ„๋Ÿ‰์„ ๋‹ค๋ฃจ๋‹ค ๋ณด๋‹ˆ, ๊ฐ•์˜ ๋ถ„๋Ÿ‰์ด 140๊ฐ•์„ ๋„˜์„ ์ •๋„๋กœ ๋งŽ์•„์กŒ์Šต๋‹ˆ๋‹ค.
์ด๋Œ€๋กœ ๊ณ„์† ์ค€๋น„ํ•˜๋ฉด ์ถœ์‹œ๊ฐ€ ๋„ˆ๋ฌด ๋Šฆ์–ด์งˆ ๊ฒƒ ๊ฐ™์•„์„œ ๊ฐ•์˜๋ฅผ 2๊ฐœ๋กœ ๋‚˜๋ˆ„์–ด ์ถœ์‹œํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

1. ์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ
2. ์Šคํ”„๋ง DB 2ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ™œ์šฉ ๊ธฐ์ˆ 

์ถœ์‹œ ์˜ˆ์ •์ผ์€ 4์›” 12์ผ(ํ™”) ~ 4์›” 19(ํ™”) ์‚ฌ์ด์— 1ํŽธ์ด ์ถœ์‹œ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค^^!
(2ํŽธ์€ 5์›”๋ง ์ถœ์‹œ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.)

์ด๋ฒˆ DB ์ ‘๊ทผ ๊ธฐ์ˆ  ๊ฐ•์˜๋„ ์˜ค๋žœ๊ธฐ๊ฐ„ ์—ด์‹ฌํžˆ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Œ€ํ•ด์ฃผ์…”๋„ ์ข‹์Šต๋‹ˆ๋‹ค.

- ๊ฐ•์˜๋ช…: ์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ
- ๊ฐ•์˜ ์ˆ˜: 54๊ฐ•
- ์„ค๋ช… ๊ทธ๋ฆผ: ์•ฝ 80์žฅ
- ๊ฐ•์˜ ์ž๋ฃŒ PDF: ์•ฝ 200์žฅ

 

์ž์„ธํ•œ ๊ฐ•์˜ ์†Œ๊ฐœ๋Š” ๋‹ค์Œ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ

๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ 

ํ˜„๋Œ€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋Œ€๋ถ€๋ถ„ ์›น ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.
๋‹จ์ˆœํ•˜๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํฌ๊ฒŒ 3๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ์›น์ด๋‚˜ ์•ฑ ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ - ์ปจํŠธ๋กค๋Ÿฌ
  2. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ - ์„œ๋น„์Šค
  3. ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ - ๋ฆฌํฌ์ง€ํ† ๋ฆฌ

์šฐ๋ฆฌ๋Š” ์•ž์„œ ์Šคํ”„๋ง MVC ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๊ทธ ์ดํ›„ ๋‹จ๊ณ„์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋น„์Šค์™€ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•ด ๊นŠ์ด์žˆ๊ฒŒ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ๋ฐ›์•„์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์Šคํ”„๋ง MVC๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ˆœ์ˆ˜ํ•œ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์€ JDBC, JdbcTemplate, MyBatis, JPA์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๋“ค์„ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์Šคํ”„๋ง์ด ์ œ๊ณตํ•˜๋Š” DB ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ๋“ค์„ ์Šคํ”„๋ง๊ณผ ํ†ตํ•ฉํ•ด์„œ, ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ํ•™์Šตํ•˜๊ธฐ ์–ด๋ ค์šด ์ด์œ 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ํ•™์Šตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ํ•™์Šตํ•˜๊ธฐ ์–ด๋ ค์šด ๋Œ€ํ‘œ์ ์ธ ์ด์œ ๋Š” ๋‹ค์Œ 3๊ฐ€์ง€ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ฐ˜ ์ง€์‹์ด ์•ฝํ•˜๋‹ค
๋ชจ๋“  ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋ฅผ ํ•™์Šตํ•˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๋‚ด์šฉ์„ ํ•™์Šตํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

2. ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์ด ๋„ˆ๋ฌด ๋‹ค์–‘ํ•˜๋‹ค
JDBC๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ SQL ๋งคํผ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” JdbcTemplate์ด๋‚˜ MyBatis ๊ฐ™์€ ๊ธฐ์ˆ ๋ถ€ํ„ฐ ORM ๊ธฐ์ˆ ์ธ JPA, ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA, Querydsl ๊ฐ™์€ ์ตœ์‹  ๊ธฐ์ˆ ๊นŒ์ง€ ์ •๋ง ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๋“ค์ด ์กด์žฌํ•ด์„œ, ๊ฐ๊ฐ์˜ ๊ธฐ์ˆ ๋“ค์ด ์–ด๋–ค ์žฅ๋‹จ์ ์ด ์žˆ๊ณ , ์–ด๋–ค ์ƒํ™ฉ์— ์–ด๋–ค ๊ธฐ์ˆ ๋“ค์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

3. ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ์—ญ์‚ฌ๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜ ๋˜์—ˆ๋‹ค
JDBC๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์€ ์ด๋ฏธ 20๋…„์ด ๋„˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ๋ฐœ์ „์€ ๋ฌผ๋ก ์ด๊ณ , ์Šคํ”„๋ง์€ ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ๋“ค์„ ๋”์šฑ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ๋•๊ธฐ ์œ„ํ•ด ์ˆ˜ ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๋ฐœ์ „์‹œํ‚ค๊ณ , ๊ฐœ์„ ํ•ด์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€๊ธˆ์€ ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒƒ์ด ์ž๋™ํ™”๋˜๊ณ , ์ถ”์ƒํ™” ๋˜์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ตœ๊ทผ์— ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ๋•Œ ์™œ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜๋Š”์ง€ ์ •ํ™•ํ•œ ์ด์œ ๋ฅผ ๋ชจ๋ฅด๊ณ , ๋‹จ์ˆœํžˆ ์‚ฌ์šฉ๋ฒ• ์œ„์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์™œ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€?๋ผ๊ณ  ์˜๋ฌธ์„ ๊ฐ€์ ธ๋„ ๊ณผ๊ฑฐ์— ์–ด๋–ค ๋ถˆํŽธํ•œ ๋ฌธ์ œ ๋•Œ๋ฌธ์— ์ง€๊ธˆ ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๊ฐœ์„ ๋˜๊ณ  ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ณผ๊ฑฐ์˜ ๋ฌธ๋งฅ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜ ํŠน์ง•

๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ์‹œ์ž‘์ธ JDBC ๋ถ€ํ„ฐ ์ตœ์‹  ์‹ค๋ฌด ๊ธฐ์ˆ ๊นŒ์ง€
์ด ๊ฐ•์˜๋Š” 20๋…„ ์ „์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ์‹œ์ž‘์ธ JDBC๋ฅผ ์‹œ์ž‘์œผ๋กœ, ์ปค๋„ฅ์…˜, ์ปค๋„ฅ์…˜ ํ’€, ๋ฐ์ดํ„ฐ์†Œ์Šค, ํŠธ๋žœ์žญ์…˜ ๊ฐœ๋…, ๊ทธ๋ฆฌ๊ณ  ์Šคํ”„๋ง์ด ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ๊นŒ์ง€, ๋ชจ๋“  ๊ฒƒ์„ ์ฝ”๋“œ๋กœ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋‹จ๊ณ„์ ์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์— ์–ด๋–ค ๋ถˆํŽธํ•œ ์ ์ด ์žˆ์–ด์„œ ๋‹ค์Œ ๊ธฐ์ˆ ์ด ํƒ„์ƒํ–ˆ๊ณ , ์–ด๋–ค ์ ๋“ค์ด ๊ฐœ์„ ๋˜์—ˆ๋Š”์ง€ ๊ทธ ์ด์œ ๋ฅผ ์ฐพ๊ณ  ์ง์ ‘ ์ฝ”๋”ฉํ•˜๋ฉด์„œ ํ•˜๋‚˜์”ฉ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  2ํŽธ์„ ํ†ตํ•ด MyBatis, JPA ๊ฐ™์ด ์‹ค๋ฌด์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ๋“ค๋„ ํ•จ๊ป˜ ํ•™์Šตํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋‹จ๋‹จํžˆ
๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ํ•™์Šตํ•  ๋•Œ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜์—์„œ๋Š” ์‹ค๋ฌด์—์„œ๋Š” ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€๋งŒ ํ•™์Šตํ•˜๊ธฐ๋Š” ์‰ฝ์ง€ ์•Š์€ ํŠธ๋žœ์žญ์…˜๊ณผ ์ž๋ฐ” ์˜ˆ์™ธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ธฐ๋„ ํ•จ๊ป˜ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ํ•™์Šตํ•œ ๋‚ด์šฉ๋“ค์ด ์‹ค๋ฌด์—์„œ ์–ด๋–ป๊ฒŒ ํ™œ์šฉ๋˜๋Š”์ง€ ์ฝ”๋“œ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ•์˜ ๋ชฉํ‘œ

  • ๋ชฉํ‘œ: ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ์™„์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
  • ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค๋ฌด๊นŒ์ง€: ์‹ค๋ฌด ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋‚ด์šฉ์ด ๋งŽ์ง€๋งŒ, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์—†๋Š” ๊ฐœ๋ฐœ์ž๋„ ์ ์‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • ์‹ค๋ฌด ์˜ˆ์ œ ์ค‘์‹ฌ: ์‹ค๋ฌด์—์„œ ์Šคํ”„๋ง์œผ๋กœ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ•™์Šตํ•˜๋ฉฐ, ์‹ค๋ฌด์—์„œ์˜ Best Practice๋ฅผ ์ „์ˆ˜ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
  • ๊ฐ„๊ฒฐํ•จ: ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜ค๋ž˜๋œ ๊ธฐ๋Šฅ์€ ๊ณผ๊ฐํ•˜๊ฒŒ ์ œ์™ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์‹ค๋ฌด์— ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋‚ด์šฉ์„ ์œ„์ฃผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ํ•ต์‹ฌ ๋ผˆ๋Œ€๋ฅผ ์„ธ์šฐ๊ณ , ๊ทธ ์œ„์— ์‹ค๋ฌด์— ๊ผญ ํ•„์š”ํ•œ ๊ธฐ์ˆ ์„ ์œ„์ฃผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.
์ด ๊ฐ•์˜๊ฐ€ ๋๋‚˜๋ฉด ์—ฌ๋Ÿฌ๋ถ„์€ ํŠผํŠผํ•œ ๊ธฐ๋ฐ˜ ์ง€์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ์Šคํ”„๋ง ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž์‹ ์žˆ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ”„๋ง DB ๊ฐ•์˜ ๊ตฌ์„ฑ

์Šคํ”„๋ง DB ๊ฐ•์˜๋Š” 1,2ํŽธ์œผ๋กœ ๋‚˜๋ˆ„์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณธ ๊ฐ•์˜๋Š” ์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ์ž…๋‹ˆ๋‹ค.

์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ

๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋‹ค์ง€๊ณ , ์Šคํ”„๋ง์ด ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

1ํŽธ์€ ๋จผ์ € ์Šคํ”„๋ง ์—†์ด ์ˆœ์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์ธ JDBC, ์ปค๋„ฅ์…˜, ์ปค๋„ฅ์…˜ ํ’€, ๋ฐ์ดํ„ฐ์†Œ์Šค, ํŠธ๋žœ์žญ์…˜ ๊ฐ™์€ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋จผ์ € ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๊ธฐ๋ฐ˜์„ ๋‹ค์ง„ ๋‹ค์Œ์—, ๊ทธ ์œ„์— ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์ด ์ด ๊ธฐ๋Šฅ๋“ค์„ ์–ผ๋งˆ๋‚˜ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š”์ง€ ๋‹จ๊ณ„๋ณ„๋กœ ๊นŠ์ด์žˆ๊ฒŒ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์Šคํ”„๋ง DB 2ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ™œ์šฉ ๊ธฐ์ˆ 

1ํŽธ์˜ ๊ธฐ๋ฐ˜ ์œ„์— ๋‹ค์–‘ํ•œ ํ™œ์šฉ ๊ธฐ์ˆ ๋“ค์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.
JdbcTemplate, MyBatis ๊ฐ™์€ SQL ๋งคํผ ๊ธฐ์ˆ  ๋ถ€ํ„ฐ, JPA, ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA, Querydsl ๊ฐ™์€ ์ตœ์‹  ORM ๊ธฐ์ˆ ์„ ํ•™์Šตํ•˜๊ณ  ๊ฐ ๊ธฐ์ˆ ๋“ค์˜ ์žฅ๋‹จ์ ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ณ„์ธต์˜ ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•๊ณผ ์Šคํ”„๋ง ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค๋„ ๊นŠ์ด์žˆ๊ฒŒ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

์ •๋ฆฌ

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” MVC์™€ DB ์ ‘๊ทผ ๊ธฐ์ˆ ์ด๋ผ๋Š” 2๊ฐ€์ง€ ํฐ ์ถ•์„ ๊ผญ ์™„์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ๋‘ ๊ฐ€์ง€ ์ถ•์„ ์™„์„ฑํ•˜๊ณ , ๋ฉ‹์ง„ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ์ €๋„ ์—ด์‹ฌํžˆ ๋„์™€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋Œ“๊ธ€

๋ฌด๋ฃŒ