Spring MyBatis - accidentlywoo/legacyVue GitHub Wiki

Spring MyBatis


Spring-jdbc๋ชจ๋“ˆ์€ ์Šคํ”„๋ง์ด ๊ทธ ์ž์ฒด๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” JDBC์šฉ ๊ฐœ๋ฐœ ๋ชจ๋“ˆ๋กœ ์ด ์ž์ฒด๋งŒ ์ด์šฉํ•ด์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, MyBatis๋งŒํผ ๊ฐœ๋ฐœ์˜ ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค. JDBC๋ฅผ ์ด์šฉํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•˜๋ฉด MyBatis๋Š” ๋‹ค์Œ๊ณผ๊ฐ™์€ ํŽธ๋ฆฌํ•จ์„ ์ œ๊ณตํ•œ๋‹ค.

๊ฐ„๊ฒฐํ•œ ์ฝ”๋“œ์˜ ์ฒ˜๋ฆฌ

MyBatis๋Š” ํ†ต์ƒ SQL Mapper ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ํ†ต์ƒ์ ์œผ๋กœ JDBC ์ž‘์—…์„ ํ•˜๊ฒŒ ๋˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋˜๋Š”๋ฐ,์˜ˆ๋ฅผ ๋“ค์–ด try ~ catch ~ finally๋ฅผ ์ด์šฉํ•˜๋Š” ์ฒ˜๋ฆฌ์—์„œ๋ถ€ํ„ฐ, PreparedStatement์™€ ResultSet์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ๊นŒ์ง€ ๋งŽ์€ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ๋‹ค.๋ฐ˜๋ฉด์— MyBatis๋Š” ์ด๋Ÿฌํ•œ ์ฝ”๋“œ๋ฅผ ์ƒ๋‹นํžˆ ๋งŽ์ด ์ค„์—ฌ ์ค„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์˜ ์†๋„๋ฅผ ํ–ฅ์ƒํ•˜๋Š”๋ฐ ํฌ๊ฒŒ ๊ธฐ์—ฌํ•œ๋‹ค. ์Šคํ”„๋ง๊ณผ MyBatis๋ฅผ ๊ฐ™์ด ๊ฒฐํ•ฉํ•˜๊ฒŒ ๋˜๋ฉด ์ฝ”๋“œ ์ œ์ž‘ ์—†์ด๋„ JDBC์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋œ๋‹ค.

SQL ๋ฌธ์˜ ๋ถ„๋ฆฌ์šด์˜

JDBC๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ SQL๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ณ„๋„์˜ ํŒŒ์ผ์„ ์ž‘์„ฑํ•˜๋Š” ๋“ฑ์˜ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์ด ํ•„์š”ํ•˜์ง€๋งŒ, MyBatis์˜ ๊ฒฝ์šฐ๋Š” XML ํ˜น์€ ์• ๋…ธํ…Œ์ด์…˜ ๋ฐฉ์‹์œผ๋กœ SQL ๋ฌธ์„ ๋ณ„๋„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๊ณ , ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์„ ํ˜ผํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

Spring๊ณผ์˜ ์—ฐ๋™์œผ๋กœ ์ž๋™ํ™”๋œ ์ฒ˜๋ฆฌ

์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์™€ MyBatis๋ฅผ ์—ฐ๊ณ„ํ•˜๋Š” MyBatis-Spring ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜๋ฉด, ๊ฐœ๋ฐœ์ž๋Š” ์ง์ ‘ SQL๋ฌธ์˜ ํ˜ธ์ถœ ์—†์ด๋„ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” MyBatis-Spring๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ด๋Š” ํด๋ž˜์Šค ๋•๋ถ„์ธ๋ฐ, ์ด ๋•Œ๋ฌธ์— MyBatis๋Š” ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์Šคํ”„๋ง๊ณผ ์—ฐ๊ณ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด ์˜คํžˆ๋ ค ์ฝ”๋“œ์˜ ์–‘์„ ์ค„์—ฌ์ฃผ๊ฒŒ ๋œ๋‹ค.

๋™์  SQL์„ ์ด์šฉํ•œ ์ œ์–ด ๊ธฐ๋Šฅ

MyBatis๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ SQL ๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ์•ฝ๊ฐ„์˜ ์žฌ์–ด๋ฌธ์ด๋‚˜ ๋ฃจํ”„ ๋“ฑ์˜ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด์„œ SQL๊ณผ๊ด€๋ จ๋œ ์ฒ˜๋ฆฌ๋ฅผ Java ์ฝ”๋“œ์—์„œ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค