์ด ๊ธ์ ๋ค์ํ Mybatis์ค์ ํด๋ณด๋ ค๊ณ ์ด๊ฒ์ ๊ฒ ํด๋ณด๋ค๊ฐ ๋ฉํ๋ ๋๊ฐ๊ณ ์ ๋ชปํ๋์ง ๋ณ๋ช ํ๋ ๊ธ์ ๋๋ค. ใ ใ
์ด๋ฒ์ ๊ฐ๋ฐ์๋ก ์ผ์ ํ๊ฒ ๋๋ฉด Mybatis๋ฅผ ์ ํ๊ฒ ๋์๋ค. ๊ทธ๋ฌ๋ฉด์ ํน์ดํ ์ ์ ๋ดค๋๋ฐ 1. ์ ์ฌํ ์ด๋ฆ์ Table์ด๊ธฐ๋ ํ๊ณ , column์ ์ฐจ์ด๋ง ์๋ Table์ด ์ฌ๋ฌ๊ฐ ์์๋ค. 2. Sql์ ๋ก์ง์ด ๋ค์ด๊ฐ ์๋ค.
์ด ๋๊ฐ์ง์๋ค.
๊ตฌ์กฐ๊ฐ ์๋ชป๋๋ค ์ข์๊ฒ๊ฐ๋ค ๋ผ๊ณ ํ๋จ ํ๊ธด ํ๋ค์์ง๋ง, ์ง๊ธ๊น์ง ์งง์ ๊ฐ๋ฐ ๊ฒฝํ์์ ๋ณด์ง ๋ชปํ ๊ตฌ์กฐ ์๋ค.
์ข์๊ฒ ์์ข์๊ฒ์ ๋ ๋ ๊ฐ๋ฐ์์ ๋ฐ๋ผ ๊ฐ์ ๋ก์ง์ด๋๋ผ๋ ํ
์ด๋ธ ์ค๊ณ๋ ์ฒ์ฐจ๋ง๋ณ๋ก ์์ฑ๋ ๊ฑฐ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๊ณ , ๊ทธ๋ผ ์ดํดํ๋ ๊ฐ๋ฐ์๋
๊ณ ํต์ค๋ฝ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
๊ทธ๋ฆฌ๊ณ Sql์ ๋ก์ง์ด ๋ค์ด๊ฐ์์๋๋ฐ, Test Code๋ ๋ด๊ฐ ์๊ฐํ๋ DataBase์ ์ญํ ์ ๋ฐ์ดํฐ๋ฅผ ์์ํ ์กฐํ, ์ญ์ , ์์ , ์ฝ์ ํ๋ ์ ๋๋ก ์๊ฐํ๋๋ฐ ์กฐ๊ฑด์ ๋ฐ๋ผ CRUD์ ์คํํ๋ ๊ฒ์ด์๋ค. ์กฐ๊ฑด์ ๋ฐ๋ผ Test Code๋ฅผ ์์ฑํ๋ฉด ๊ด์ฐฎ๊ฒ ์ง ๋ผ๊ณ ์๊ฐํ์ง๋ง, ๋ก์ง์ด ๋ณ๊ฒฝ๋๋ ์๊ฐ Service Logic๋ฟ๋ง ์๋๋ผ .xml์์ query๊น์ง ํ์ธ ํด์ผ ํ๋ ์ด์์ ๊ณต์๊ฐ ๋ ๋ค์ด๊ฐ๊ณ ๋๋ถ์ด ์ค์๋ฅผ ํ ์์๊ฐ ๋ง์ ์ง ์ ์๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
Mybatis์ ๋ํ ๊ธ ํด๋น ๊ธ ์๋ณด๋ฉด์ xml์์ ์ค์ ํ๋ ๊ฒ ๋ถํฐ ์์ํ์ฌ .properties, Configuration์์ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ํ์ฌ ๊ธ์ ์๋ฆฌ์ฆ ๋ณ๋ก ์์ฑํ๊ณ ์ถ์๋ค.
๊ทธ๋ฆฌ๊ณ ์๊ฐ์ด ๋ ๋ ๋ง๋ค ์ฌ๋ฌ ์ค์ ์ ๊ด๋ จ๋ ๊ธ์ ์ฐพ์๋ดค๋๋ฐ, SpringBoot, Spring, SpringMVC ๋ฑ๋ฑ ๊ฐ๊ฐ ์ค์ ํ๋ ํ๊ฒฝ์ด ์กฐ๊ธ์ฉ ๋ฌ๋๋ค.
์ด์ฐ์ ์ฐ ์ค์ ์ ํ๋ค๊ณ ์๊ฐํด๋ ํด๋์ค์์ ๋ฉ์๋ ํธ์ถ๋ ์ธ์์ ๋ชปํ๋ค๋ ์๋ฌ๋ง ๋ฌด์ฑํ ๋ฟ ์์ธ์ด ๋ญ์ง ์ฐพ๊ธฐ ํ๋ค์๋ค.
๊ฒฐ๊ตญ ์ํ๋ ๊ธ์ ์์ฑ ํ๋ ๊ฒ์ ๋ฌ์ฑํ์ง ๋ชปํ์ง๋ง, ์ป์ ๊ฒ์ ์์๋ค.
๋ด๊ฐ ์ด๊ฑธ ์ดํดํ๋ค๋ฉด, ๊ธฐ์กด์๋ yml, properties์์ ์ค์ ํ๋ ๊ฒ๋ณด๋ค ์ข๋ ์์ธํ๊ฒ ์ค์ ํ ์ ์์๊ฒ์ด๊ณ , ์ด๊ฑธ ๊ธฐ๋ฐ์ผ๋ก code์ DB๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒ,
์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ณผ์ ์ ์ธ๋ฐํ๊ฒ ์ดํด ํ ์ ์์ ๊ฑฐ๋ผ๋ ์๊ฐ์ด ๋ค์๋ค.
๊ทธ๋ฆฌ๊ณ SpringBoot ๋ฟ๋ง ์๋๋ผ Spring, SpringMVC์์ ์ค์ ์ ์ฒด๊ฐ ํด๋ณธ๋ค๋ฉด ๊ทธ๋ฅ ๊ธ์ ์ฝ์์ ๋ ๋ณด๋ค ๋ ๋ง์ ๊ฒฝํ์น๊ฐ ๋ ๊ฑฐ๋ผ๋ ์๊ฐ๋ ๋ค์๋ค.
์ด๋ฒ ํฌ์คํ
์ดํ ํ๋ฒ์ ํฌ์คํ
์ด ๋จ์ ์๋๋ฐ, ๊ทธ๋๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ๋ก ์์ฑ ํ ๊ฒ์ด๋ค.
"Mybatis ์ค์ 1ํธ : xml๋ก ์ค์ ํด๋ณด๋ Mybatis"
์ด๋ฒ ๊ธฐ์์ ๋ง๋ฌด๋ฆฌ๋ฅผ ๋ด๊ฐ ์๊ฐํ๋ Mybatis์ ๋ค์ํ ์ค์ ์ ๋ํ ๊ธ์ ์์์ ์ผ๋ก ๋ง๋ฌด๋ฆฌ ํ ์ ์์์ ์ข๊ฒ ๋ค.
ps : JDBC, JPA์ต๊ณ !
Spring-Boot-MyBatis-์ค์ -๋ฐฉ๋ฒ
mybatis-The content of element type "configuration" must match ... ์๋ฌ
Spring boot + Mybatis ์ฐ๊ฒฐํ๊ธฐ
Java Resource ์ฌ์ฉ(getResource(),getResourceAsStream())
๊ฒ์ํ ๋ง๋ค๊ธฐ(1) - ํ๋ก์ ํธ ์์ฑ๊ณผ ์ค์ .
MyBatis์ ์คํ๋ง ์ฐ๋
JAVA ์๋ฐ ๋ง์ด๋ฐํฐ์ค mybatis ์ฌ์ฉํ๊ธฐ
Spring Boot + MyBatis ์ค์ ๋ฐฉ๋ฒ(HikariCP, H2)
myBatis ์ค์ (Properties ํ์ผ ์ค์ ๋ฐฉ์)
Spring Boot ์์ Context Path ์ค์ ํ๊ธฐ