MyBatis - accidentlywoo/legacyVue GitHub Wiki
MyBatis
์๊ฐ
๊ฐ๋ฐ์๊ฐ ์ง์ ํ SQL, ์ ์ฅํ๋ก์์ ๊ทธ๋ฆฌ๊ณ ๋ช๊ฐ์ง ๊ณ ๊ธ ๋งคํ์ ์ง์ํ๋ ํผ์์คํด์ค ํ๋ ์์ํฌ์ด๋ค. ๋ง์ด๋ฐํฐ์ค๋ JDBC๋ก ์ฒ๋ฆฌํ๋ ์๋น๋ถ๋ถ์ ์ฝ๋์ ํ๋ผ๋ฏธํฐ ์ค์ ๋ฐ ๊ฒฐ๊ณผ ๋งค์นญ์ ๋์ ํด์ค๋ค. ๋ง์ด๋ฐํฐ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ฝ๋์ ์์ํ์ ๊ณผ Map ์ธํฐํ์ด์ค ๊ทธ๋ฆฌ๊ณ ์๋ฐ POJO๋ฅผ ์ค์ ํด์ ๋งคํํ๊ธฐ ์ํด XML๊ณผ ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ ์ ์๋ค.
์์ํ๊ธฐ
- XML์์ SqlSessionFactory ๋น๋ํ๊ธฐ ๋ชจ๋ ๋ง์ด๋ฐํฐ์ค ์ ํ๋ฆฌ์ผ์ด์ ์ SqlSessionFactory ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ๋ค. SqlSessionFactory์ธ์คํด์ค๋ SqlSessionFactoryBuilder๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ค ์ ์๋ค. SqlSessionFactoryBuilder๋ XML ์ค์ ํ์ผ์์ SqlSessionFactory์ธ์คํด์ค๋ฅผ ๋น๋ํ ์ ์๋ค. XML ํ์ผ์์ SqlSessionFactory์ธ์คํด์ค๋ฅผ ๋น๋ํ๋ ๊ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค.์ค์ ์ ์ํด ํด๋์คํจ์ค ์์์ ์ฌ์ฉํ๋ ๊ฒ์ ์ถ์ฒํ๋ ํ์ผ ๊ฒฝ๋ก๋ file://URL๋ก ๋ถํฐ ๋ง๋ค์ด์ง InputStream ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค. ๋ง์ด๋ฐํฐ์ค๋ ํด๋์คํจ์ค์ ๋ค๋ฅธ ์์น์์ ์์์ ๋ก๋ํ๋ ๊ฒ์ผ๋ก ์ข๋ ์ฝ๊ฒ ํด์ฃผ๋ Resources๋ผ๋ ์ ํธ์ฑ ํด๋์ค๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);