foreach ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด SQL๋ฌธ์์ ํ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
<foreach> ํ๊ทธ์ ์ฌ๋ฌ๊ฐ์ง ์์ฑ
์์ฑ | ์ค๋ช |
collection | array์ list ์ธ์คํด์ค๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค. list ์์๋ list๋ก ํ์ํ๊ณ array ์์๋ array๋ก ํ์ํฉ๋๋ค. |
index | foreach๋ฌธ์ด ๋ฐ๋ณต๋ ๋๋ง๋ค 1์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ์ ๊ทผํ๋ ๊ฐ์ ์์น๋ฅผ ๋ํ๋ ๋๋ค. |
item | collection์ ์์ฑ์ ์ง์ ๋ ๊ฐ์ ์ ๊ทผํฉ๋๋ค. ์ฆ, ์์ฑ ์ด๋ฆ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. |
open | ํด๋น ๊ตฌ๋ฌธ์ด ์์๋ ๋์ ์ง์ ํ ๊ธฐํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. |
close | ํด๋น ๊ตฌ๋ฌธ์ด ๋๋ ๋์ ์ง์ ํ ๊ธฐํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. |
separator | ๋ฐ๋ณต๋๋ ์ฟผ๋ฆฌ๋ฌธ ์ฌ์ด์ ์ง์ ํ ๊ธฐํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค. |
l <foreach> ์์
<select id="selectForEach" parameterType="memberVO" resultType="memberVO">
SELECT
*
FROM TEST_TABLE
WHERE 1=1
AND NAME IN
<foreach item="item" collection="list" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
์์๋ฅผ ํตํด <foreach> ํ๊ทธ์ ์์ฑ๋ค์ ๋ณด์๋ฉด ์ข ๋ ์ดํด๊ฐ ๋น ๋ฅผ ๊ฒ๋๋ค.
public MemberVO selectForEach() {
sqlMapper = getInstance();
SqlSession session = sqlMapper.openSession();
MemberVO memberVO = new MemberVO();
List<String> nameList = new ArrayList<String>();
nameList.add("๊น๋ณ์ค");
nameList.add("ํ์ง์");
List<String> resultList = session.selectList("mapper.member.selectForEach", nameList);
return memberVO;
}
nameList์ ์์ ๊ฐ์ ์์ฑ์ ์ถ๊ฐํด์ฃผ์์ต๋๋ค.
SELECT * FROM TEST_TABLE WHERE 1=1 AND name in ('๊น๋ณ์ค','ํ์ง์');
<foreach>๋ฅผ ์ด์ฉํ ์ฟผ๋ฆฌ๋ฌธ์ ์ ์ฝ๋์ ๊ฐ์ต๋๋ค.
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ง๋ฌธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค.
"๋ ๋ฐ๋์ ๋ฐฑ์๋ ์์ด ๋ ๊ฑฐ์ผ"
'...' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ์คํ๋ง ์ด๋ ธํ ์ด์ (Annotaion) ์ด๋? (0) | 2021.01.10 |
---|---|
[MyBatis] ๋ง์ด๋ฐํฐ์ค include ๊ตฌ๋ฌธ ์ฌ์ฉํ๊ธฐ (0) | 2021.01.10 |
[MyBatis] ๋ง์ด๋ฐํฐ์ค choose ๋ฌธ ์ฌ์ฉํ๊ธฐ (0) | 2021.01.10 |
[MyBatis] ๋ง์ด๋ฐํฐ์ค if ๋ฌธ ์ฌ์ฉํ๊ธฐ (0) | 2021.01.10 |
[Java] ์๋ฐ List ๋ฐ๋ณต๋ฌธ (ํฅ์๋ ๋ฐ๋ณต๋ฌธ) (0) | 2021.01.10 |