๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœ๏ธ DevLog/Devcourse

[DevCourse] ์ƒ์„ฑํ˜• AI ํ™œ์šฉ ๋ฐฑ์—”๋“œ ๋ฐ๋ธŒ์ฝ”์Šค 46์ผ์ฐจ

by hyebin (Helia) 2025. 6. 13.
๋ฐ˜์‘ํ˜•

์˜ค๋Š˜์€ Spring JDBC์™€ ์„ค์ • ํŒŒ์ผ์„ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๋™์„ ์ค‘์‹ฌ์œผ๋กœ ํ•™์Šตํ•˜๊ณ , MySQL๊ณผ ์—ฐ๊ฒฐํ•˜๋Š” ์‹ค์Šต๋„ ํ•จ๊ป˜ ์ง„ํ–‰ํ•ด๋ณด์•˜๋‹ค.

Spring์˜ ์„ค์ • ๋ฐฉ์‹์ด ์ ์  ์ต์ˆ™ํ•ด์ง€๊ณ , ์‹ค์ œ ์„œ๋น„์Šค์—์„œ ์–ด๋–ค ์‹์œผ๋กœ DB๋ฅผ ์—ฐ๋™ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”์ง€ ๊ฐ์„ ์žก์„ ์ˆ˜ ์žˆ์—ˆ๋˜ ์ˆ˜์—…์ด์˜€๋‹ค.


๐Ÿ“Œ ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ ์ •๋ฆฌ

๐Ÿ”ท Java ๊ธฐ๋ฐ˜ ์„ค์ •๊ณผ Properties ํ™œ์šฉ

XML์ด ์•„๋‹Œ ์ž๋ฐ” ํด๋ž˜์Šค(@Configuration, @Bean)๋กœ ์„ค์ •์„ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹๊ณผ, @Value๋ฅผ ํ™œ์šฉํ•ด jdbc.properties ํŒŒ์ผ์—์„œ DB ์ ‘์† ์ •๋ณด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ–ˆ๋‹ค.

ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์„ค์ •์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ์‹ค๋ฌด์—์„œ ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฑธ ๋А๊ผˆ๋‹ค.

 

๐Ÿ”ถ Spring JDBC์™€ JdbcTemplate ์‚ฌ์šฉ

JdbcTemplate์„ ํ™œ์šฉํ•ด ์ฟผ๋ฆฌ ์‹คํ–‰, ๋ฐ์ดํ„ฐ ์กฐํšŒ, ์‚ฝ์ž… ๋“ฑ์˜ ์ž‘์—…์„ ๋‹จ์ˆœํ•˜๊ณ  ๋ช…ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค.

Controller → Service → DAO๋กœ ํ๋ฆ„์„ ๊ตฌ์„ฑํ•˜๊ณ ,

DAO์—์„œ query ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ RowMapper๋กœ VO์— ๋งคํ•‘ํ•ด ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์ด ์ธ์ƒ ๊นŠ์—ˆ๋‹ค.


๐Ÿงก ๋А๋‚€ ์ 

์˜ค๋Š˜์€ ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ ์น˜๋Š” ์ˆ˜์ค€์ด ์•„๋‹ˆ๋ผ, Spring์ด ์™œ ๋ณต์žกํ•œ DB ์—ฐ๋™์„ ๋‹จ์ˆœํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š”์ง€ ์ง์ ‘ ๋А๋‚„ ์ˆ˜ ์žˆ์—ˆ๋˜ ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

ํŠนํžˆ JdbcTemplate์„ ์‚ฌ์šฉํ•ด ๋ฐ˜๋ณต์ ์ธ DB ์ฒ˜๋ฆฌ ๋กœ์ง์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๋ฉด์„œ, ์ฝ”๋“œ๊ฐ€ ํ›จ์”ฌ ๊น”๋”ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๊ธฐ ์‰ฌ์›Œ์ง„๋‹ค๋Š” ๊ฑธ ๋А๋‚„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์•„์ง์€ ์„ค์ • ํŒŒ์ผ ๊ตฌ์กฐ๊ฐ€ ๋ณต์žกํ•˜๊ฒŒ ๋А๊ปด์ง€๊ธฐ๋„ ํ•˜์ง€๋งŒ, ํ•˜๋‚˜์”ฉ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ์„ค์ •์„ ๋ถ„๋ฆฌํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ์—ฐ์Šตํ•˜๋‹ค ๋ณด๋ฉด

์–ด๋А ์ˆœ๊ฐ„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ตฌ์กฐ๊ฐ€ ๋จธ๋ฆฟ์†์— ๊ทธ๋ ค์งˆ ๊ฑฐ๋ผ ์ƒ๊ฐํ•œ๋‹ค.

 

์ด์ œ๋Š” ๋‹จ์ˆœํ•œ ๊ฐœ๋… ๊ณต๋ถ€๋ฅผ ๋„˜์–ด์„œ, ์‹ค์ œ ์„œ๋น„์Šค ๊ตฌ์กฐ์™€ ๊ฐ€๊นŒ์šด ํ˜•ํƒœ๋กœ Spring์„ ์ตํ˜€๊ฐ€๋Š” ๋‹จ๊ณ„์— ์ ‘์–ด๋“  ๊ฒƒ ๊ฐ™์•„ ๋” ๊ธฐ๋Œ€๊ฐ€ ๋œ๋‹ค.

๋ฐ˜์‘ํ˜•