ALOHA CLASS
/
Back-End
/
MyBatis
/
๊ธฐ๋ณธ ๊ฐ์ด๋
Search
Duplicate
Share
๊ธฐ๋ณธ ๊ฐ์ด๋
Mybatis ๊ธฐ๋ณธ ๊ฐ์ด๋
Spring ์์กด์ฑ ์ถ๊ฐ
Maven
Maven ํ๋ก์ ํธ์์
pom.xml
ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์กด์ฑ์ ์ถ๊ฐํฉ๋๋ค:
Gradle
Gradle ํ๋ก์ ํธ์์
build.gradle
ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์กด์ฑ์ ์ถ๊ฐํฉ๋๋ค:
Gradle์์๋
implementation
ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์กด์ฑ์ ์ถ๊ฐํฉ๋๋ค. Maven๊ณผ ๋์ผํ Spring Boot ์คํํฐ๋ค์ ์ฌ์ฉํ๋ฉฐ, ๋ฒ์ ์ Spring Boot์ ๋ถ๋ชจ ์ค์ ์์ ์๋์ผ๋ก ๊ด๋ฆฌ๋ฉ๋๋ค.
์ฐธ๊ณ :
Spring Boot์ ๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ๋๋ถ๋ถ์ ์คํํฐ ์์กด์ฑ์ ๋ํด ๋ฒ์ ์ ๋ช ์ํ ํ์๊ฐ ์์ต๋๋ค. ๋จ, MyBatis์ ๊ฐ์ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ฒ์ ์ ๋ช ์ํด์ผ ํฉ๋๋ค.
์์กด์ฑ ์ถ๊ฐํ๊ธฐ
๋ง์ด๋ฐํฐ์ค ์ค์ ๊ฐ์ด๋
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์
๋ฐ์ดํฐ ์์ค ๊ตฌ์ฑ (MySQL)
์ฃผ์ ์ค์ ํญ๋ชฉ:
2. MyBatis ํต์ฌ ์ค์
์ค์ ํ์ผ ๊ฒฝ๋ก
๋ณ๋์ MyBatis ์ค์ ํ์ผ์ด ํ์ํ ๊ฒฝ์ฐ ์ฃผ์์ ํด์ ํ๊ณ ์ฌ์ฉํฉ๋๋ค.
๋ง์ด๋ฐํฐ์ค ์ค์
๋งคํผ ํ์ผ(XML)
โข
๋์ ๊ตฌ์กฐ
โข
๊ธฐ๋ณธ ์ฝ๋
โข
๋งคํผ ํ๊ทธ
โข
ํ๊ทธ ์์ฑ
โข
์์
๋์ ๊ตฌ์กฐ
ํ์ผ ๊ตฌ์กฐ
๋งคํผ ์์ฑํ๊ธฐ
resultMap
<resultMap>
ํ๊ทธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปฌ๋ผ๋ช ๊ณผ Java ๊ฐ์ฒด์ ํ๋๋ช ์ด ๋ค๋ฅผ ๋, ๋๋ ๋ณต์กํ ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งคํํ ๋ ์ฌ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ ๊ตฌ์กฐ
์ฃผ์ ํ๊ทธ
resultMap
๋์ ์ฟผ๋ฆฌ
MyBatis๋ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ค์ํ ํ๊ทธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์กฐ๊ฑด์ ๋ฐ๋ผ SQL ์ฟผ๋ฆฌ๋ฅผ ๋์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ฃผ์ ๋์ ์ฟผ๋ฆฌ ํ๊ทธ
<if> ํ๊ทธ
์กฐ๊ฑด์ด ์ฐธ์ผ ๋๋ง SQL ๊ตฌ๋ฌธ์ ํฌํจํฉ๋๋ค.
<choose>, <when>, <otherwise> ํ๊ทธ
์ฌ๋ฌ ์กฐ๊ฑด ์ค ํ๋๋ง ์ ํํ ๋ ์ฌ์ฉํฉ๋๋ค.
๋์ ์ฟผ๋ฆฌ
MyBatis