[Spring] - ๐ŸŒฑ Mybatis๋ž€?

army246ยท2022๋…„ 6์›” 24์ผ
0

Spring

๋ชฉ๋ก ๋ณด๊ธฐ
7/7


Mybatis

  • Mybatis๋Š” ์ž๋ฐ”์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ข€ ๋” ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€ ์ฃผ๋Š” ๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„ ์›Œํฌ
  • Ibatis๊ฐ€ ํŒŒ์ƒ๋˜์–ด ๋‚˜์˜จ Mybatis๋Š” ๊ฐœ๋…๊ณผ ๋ฌธ๋ฒ•์ด Ibatis์™€ ์œ ์‚ฌํ•˜๋‹ค.
  • Domain ๊ฐ์ฒด๋‚˜ VO๊ฐ์ฒด ์ค‘์‹ฌ์œผ๋กœ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

Mybatis ํŠน์ง•

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

Mybatis ์•„ํ‚คํ…์ฒ˜

Mybatis ์ปดํฌ๋„ŒํŠธ

Mybatis ์ปดํฌ๋„ŒํŠธ์„ค๋ช…
SqlMapConfig.xml๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ ‘์† ์ฃผ์†Œ ์ •๋ณด, Mapping ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋“ฑ ๊ณ ์ •๋œ ํ™˜๊ฒฝ์ •๋ณด ์„ค์ •
SqlSessionFactoryBuilderSqlMapConfig.xml์„ ํ†ตํ•ด SqlSessionFactory ์ƒ์„ฑ
SqlSessionFactorySqlSession ์ƒ์„ฑ
SqlSessionํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ํด๋ž˜์Šค, SQL ์‹คํ–‰์ด๋‚˜ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
Mapping ํŒŒ์ผSQL ๋ฐ O/R ๋งคํ•‘ ์„ค์ •์„ ์„ค๋ช…ํ•˜๋Š” XML ํŒŒ์ผ

Mybatis - Spring ์ปดํฌ๋„ŒํŠธ

์ปดํฌ๋„ŒํŠธ์„ค๋ช…
SqlMapConfig.xmlVO๊ฐ์ฒด ์ •๋ณด ์„ค์ •
SqlSessionFactorySqlMapConfig.xml๋ฅผ ํ†ตํ•ด SqlSessionFactory๋ฅผ ์ƒ์„ฑ, Spring Bean์œผ๋กœ ๋“ฑ๋ก
SqlSessionTemplateSqlSession ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„, Spring Bean์œผ๋กœ ๋“ฑ๋ก
Mapping ํŒŒ์ผSQL ๋ฐ O/R ๋งคํ•‘ ์„ค์ •์„ ์„ค๋ช…ํ•˜๋Š” XML ํŒŒ์ผ
Spring Bean ์„ค์ • ํŒŒ์ผSqlSessionFactoryBean์„ Bean ๋“ฑ๋กํ•  ๋•Œ DataSource์ •๋ณด์™€ Mybatis Config ํŒŒ์ผ์ •๋ณด,Mapping ํŒŒ์ผ์˜ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์„ค์ •ํ•œ๋‹ค. SqlSessionTemplate์„ Bean์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.

์ฐธ๊ณ 
https://velog.io/@changyeonyoo/Mybatis%EB%9E%80-%EC%9E%A5%EC%A0%90-%ED%8A%B9%EC%A7%95-%EC%BB%B4%ED%8F%AC%EB%84%8C%ED%8A%B8
https://youtu.be/9b5P4YiyqOY

profile
์ฒœ์ฒœํžˆ ๊พธ์ค€ํžˆ

0๊ฐœ์˜ ๋Œ“๊ธ€