[MyBatis] : select : Spring๊ณผ ์ฐ๋ ๋ง์ด๋ฐํฐ์ค๋ก DB ์กฐํ
1. ์ด๋ ธํ ์ด์ ์ ํ์ฉํ select ๋ฌธ
MyBatis ์๋ @Select ์ด๋ ธํ ์ด์ ์ ์ด์ฉํด์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค.
* ์ฃผ์ : ๊ตฌ๋ฌธ ๋์ ' ; ' ์ ์ด์ฉํ์ง ์๋๋ค.
2. XML์ ํ์ฉํ select ๋ฌธ
MyBatis๋ฅผ ์ด์ฉํ ๋๋ SQL์ ๋ณ๋์ ํ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
XML ํ์ผ์ SQL ์ ์์ฑํ๋ ์ด์ ๋ SQL์ด ๊ธธ์ด์ง๋ฉด ์ด๋ฅผ ์ด๋ ธํ ์ด์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ๊ฐ ๋ณต์กํด์ง๊ณ ์ด๋ ธํ ์ด์ ์ด ๋ณ๊ฒฝ๋๋ฉด
ํ๋ก์ ํธ ์ ์ฒด๋ฅผ ๋ค์ ๋น๋ํ๋ ์์ ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋จ์ ํ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ๋ค.
XML์ ์์ฑํ ๋๋ <mapper> ํ๊ทธ์ namespace ์์ฑ์ ๋ฐ๋์ ๋งคํผ ์ธํฐํ์ด์ค ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ ์ง์ ํด์ผ ํ๋ค.
<select> ํ๊ทธ์๋ ๊ตฌ๋ฌธ์ ์ด๋ฆ(id)๊ณผ ๋ฉ์๋ ๋ช ์ ์ผ์น์ํค๊ณ , ๋ฐํํ์ (resultType)์ ๋ง์ถฐ์ค์ผ ํ๋ค
3. select ์๋ฆฌ๋จผํธ ์์ฑ
<select id="getNow" resultType="String">
- id : java ํ์ผ์์ ๋ฉ์๋๋ฅผ ๋งค์นญํ๊ธฐ ์ํ ๊ตฌ๋ฌธ์ ์ด๋ฆ
- parameterType : ๊ตฌ๋ฌธ์ ์ ๋ฌ๋ ํ๋ผ๋ฏธํฐ์ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ํฌํจํ ์ ์ฒด ํด๋์ค๋ช ์ด๋ ๋ณ์นญ
- resultMap : ์ธ๋ถ resultMap์ ๋ฐํํ์ ์ผ๋ก ์ฐธ์กฐ
- resultType : ๋ฆฌํด๋๋ ๊ธฐ๋ํ์ ์ ํจํค์ง ๊ฒฝ๋ก๋ฅผ ํฌํจํ ์ ์ฒด ํด๋์ค๋ช ์ด๋ ๋ณ์นญ
* resultType์ด collection์ธ ๊ฒฝ์ฐ, collection ํ์ ์์ฒด๊ฐ ์๋ collection์ด ํฌํจ๋ ํ์ ์ด ๋ ์ ์๋ค.