Spring - MyBatis

์ด์ง€์œคยท2022๋…„ 5์›” 5์ผ
0

โค๏ธโ€๐Ÿ”ฅMyBatis ๊ฐœ์š”

MyBatis

  • SQL๊ณผ ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๋งคํ•‘ํ•˜๋Š” ์‚ฌ์ƒ์—์„œ ๊ฐœ๋ฐœ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ์šฉ ํ”„๋ ˆ์ž„์›Œํฌ

MyBatis ์žฅ์ 

  • SQL์˜ ์ฒด๊ณ„์ ์ธ ๊ด€๋ฆฌ
    โ˜ž ์ž๋ฐ” Mapper ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด SQL ์„ค์ •ํŒŒ์ผ๊ณผ ์—ฐ๋™
    โ˜ž ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—์„œ Mapper ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด SQL๋ฌธ ์‹คํ–‰
  • ์ž๋ฐ” ๊ฐ์ฒด์™€ SQL ์ž…์ถœ๋ ฅ ๊ฐ’์˜ ๋ฐ”์ธ๋”ฉ
  • ๋™์  SQL ์กฐํ•ฉ

์ฃผ์š” ์ปดํฌ๋„ŒํŠธ

  • MyBatis ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์—ฐ๋™์„ ์œ„ํ•œ MyBatis-Spring ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

MyBatis ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ

  • MyBatis ์„ค์ • ํŒŒ์ผ
  • SqlSessionFactoryBuilder : MyBatis ์„ค์ • ํŒŒ์ผ์„ ๋ฐ”ํƒ•์œผ๋กœ SqlSessionFactory ์ƒ์„ฑ
  • SqlSessionFactory : SqlSession ์ƒ์„ฑ์„ ์œ„ํ•œ ์ปดํฌ๋„ŒํŠธ
  • SqlSession : SQL ๋ฐœํ–‰๊ณผ ํŠธ๋žœ์žญ์…˜ ๊ด€๋ฆฌ
  • Mapper Interface : ๋งคํ•‘ ํŒŒ์ผ๊ณผ SQL์— ๋Œ€์‘ํ•˜๋Š” ์ž๋ฐ” ์ธํ„ฐํŽ˜์ด์Šค
  • ๋งคํ•‘ ํŒŒ์ผ : SQL๊ณผ OR๋งคํ•‘์„ XML์— ํŒŒ์ผ ๊ธฐ์ˆ 

myBatis - Spring ์ฃผ์š” ์ปดํฌ๋„ŒํŠธ

  • org.mybatis.spring.SqlSessionTemplate : sqlSession ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„

MyBatis์˜ ํ•ต์‹ฌ API

  • sqlSession ์ธํ„ฐํŽ˜์ด์Šค

sqlSession์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

  • sqlSession ๊ฐ์ฒด๋ฅผ DAO ๊ฐ์ฒด์— ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์œผ๋กœ ์‚ฌ์šฉ
  • DAO ์—ญํ• ์„ Mapper ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ ์ œ๊ณต
    โ˜ž mybatis๋Š” DAO์˜ ๊ตฌํ˜„์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ด์ฃผ๋Š” Mapper๋ผ๋Š” ๊ธฐ๋Šฅ ์ œ๊ณต
    โ˜ž ๊ฐœ๋ฐœ์ž๊ฐ€ Mapperr ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ค€๋น„ํ•ด์„œ Mapper ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ๋นˆ ์ •์˜

์Šคํ”„๋ง๊ณผ MyBatis ๋ชจ๋“ˆ๊ณผ์˜ ์˜์กด ๊ด€๊ณ„

  • sqlSession ๊ฐ์ฒด๋ฅผ DAO ๊ฐ์ฒด์— ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…
    - MyBatis์˜ SqlSession ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ SqlSessionTemplate ๊ฐ์ฒด

MyBatis ์—ฐ๋™์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • spring-jdbc : ์Šคํ”„๋ง์ด ์ œ๊ณตํ•˜๋Š” JDBC ๋ชจ๋“ˆ
  • MyBatis-Spring : ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ ๊ฐ„์˜ ์—ฐ๋™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • MyBatis : ๋งˆ์ด๋ฐ”ํ‹ฐ์Šค ํ”„๋ ˆ์ž„์›Œํฌ ๋ชจ๋“ˆ
  • commons-dbcp : ์ปค๋„ฅ์…˜ ํ’€ ์ง€์› ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • mysql-connector-java : ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค JDBC ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
profile
์ดˆ๋ณด์ž

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