12์žฅ: Data Source

๋ฐ์ดํ„ฐ ์†Œ์Šค๋Š” dbms์™€์˜ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์„ฑ์š”์†Œ๋‹ค. java์•ฑ์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ๊ธฐ๋Šฅ์€ JDBC๊ฐ€ ํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ JDK๋Š” ํŠน์ • DBMS(MYSQL, Oracle ๋“ฑ)์„ ์œ„ํ•œ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„ ๋Œ€์‹  ์ถ”์ƒํ™”๋งŒ ์ œ๊ณตํ•œ๋‹ค. ๋”ฐ๋ผ์„œ JDBC ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋Ÿฐํƒ€์ž„ ์ข…์†์„ฑ์— ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋ฉฐ, ํ•ด๋‹น ๋“œ๋ผ์ด๋ฒ„๋Š” ๊ฐ DBMS ๋ฒค๋”์—์„œ ์ œ๊ณตํ•œ๋‹ค.

JDBC ๋“œ๋ผ์ด๋ฒ„ ๋งค๋‹ˆ์ €๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ฐ ์š”์ฒญ๋งˆ๋‹ค ์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ž์›๊ณผ ์‹œ๊ฐ„ ๋‚ญ๋น„๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๊ฐ€ ์—ฐ๊ฒฐ์„ ๋Œ€์‹  ๊ด€๋ฆฌํ•ด์ค€๋‹ค๋ฉด persistence ๊ณ„์ธต์˜ ํผํฌ๋จผ์Šค๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์˜ ์—ฐ๊ฒฐ์„ ํšจ์œจ์ ์ด๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ž๋ฐ” ์•ฑ์—์„œ ๊ฐ€์žฅ ํ”ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋Š” HikariCP์ด๊ณ  ์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ๋””ํดํŠธ ๋ฐ์ดํ„ฐ ์†Œ์Šค์ด๊ธฐ๋„ ํ•˜๋‹ค.

jdbcTemplate์€ ์Šคํ”„๋ง์ด ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋„๊ตฌ์ด๊ณ , ์ž‘์€ ์•ฑ์— ์ ํ•ฉํ•˜๋‹ค. ๋‹ค๋ฅธ ํŠน์ • ์ง€์†์„ฑ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„, ์ถ”๊ฐ€ ์˜์กด์„ฑ์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ฐ€์žฅ ์ ํ•ฉํ•˜๋‹ค. JdbcTemplate์˜ ์‚ฌ์šฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ ์˜ˆ์ œ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค:

  1. DBMS์— ์—ฐ๊ฒฐ ์ƒ์„ฑ

  2. ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๋กœ์ง ์ž‘์„ฑ

  3. REST ์—”๋“œํฌ์ธํŠธ์˜ ๋™์ž‘์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฉ”์„œ๋“œ์—์„œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ

์ž๋ฐ”์—์„œ floating-point ๊ฐ’์„ ์ •ํ™•ํžˆ ์ €์žฅํ•˜๋ ค๋ฉด ํƒ€์ž…์„ BigDecimal๋กœ ์ €์žฅํ•˜์ž. ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” h2 ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ž๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์†Œ์Šค์™€ JdbcTemplate ์ธ์Šคํ„ด์Šค๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

Last updated