์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

SqlSessionTemplate์ด๋ž€?

๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ DAO์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , Mapper๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒ์ด๋‹ค.
MyBatis๋ฅผ ์‚ฌ์šฉํ•ด DAO๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” SqlSessionTemplate๋ผ๋Š” ๊ฒƒ์„ ์‚ฌ์šฉํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„์ด๋‹ค.

SqlSesseionTemplate์˜ ์—ญํ• ๊ณผ ์„ค์ •

DAO์˜ ์ž‘์—…์—์„œ ๊ฐ€์žฅ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐ์„ ๋งบ๊ณ , ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„์— ์—ฐ๊ฒฐ์„ close()ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
MyBatis๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, mybatis-spring ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” SqlSessionTemplate ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•ด ๋ฒˆ๊ฑฐ๋กœ์›€์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

SqlSessionTemplate์€ MyBatis์˜ SqlSession ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๋กœ, ๊ธฐ๋ณธ์ ์ธ ํŠธ๋žœ์žญ์…˜์˜ ๊ด€๋ฆฌ๋‚˜ ์Šค๋ ˆ๋“œ ์ฒ˜๋ฆฌ์˜ ์•ˆ์ •์„ฑ ๋“ฑ์„ ๋ณด์žฅํ•ด์ฃผ๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์—ฐ๊ฒฐ๊ณผ ์ข…๋ฃŒ๋ฅผ ์ฑ…์ž„์ง„๋‹ค.

์–˜๋Š” SqlSessionFactory๋ฅผ ์ƒ์„ฑ์ž๋กœ ์ฃผ์ž…ํ•ด ์„ค์ •ํ•œ๋‹ค.

[root-context.xml ์„ค์ •]

   <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
        <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
   </bean>

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ