๋ง์ด๋ฐํฐ์ค์์๋ ๋์ ์ฒ๋ฆฌ๋ฅผ ํ๊ฒ ํด์ฃผ๋ ์ฌ๋ฌ ๊ฐ์ง์ ํ๊ทธ๋ค์ด ์๋๋ฐ, ์ด๋ฒ ๊ธ์์ <if test=""> ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค.
l <if>
if๋ฌธ์ ๋ค๋ฅธ ์ฝ๋์์์์ if๋ฌธ๊ณผ ์ฌ์ฉ ์ฉ๋๊ฐ ๋น์ทํฉ๋๋ค. ๋ ์ฌ์ฉ๋ฐฉ๋ฒ๋ ์์ฃผ ์ ์ฌํฉ๋๋ค.
์ฃผ์ํ ์ ์ ๋ฐ๋์ ์กฐ๊ฑด๋ฌธ์์ test=""๋ฅผ ์ ์ด์ฃผ์ ์ผ ํฉ๋๋ค.
<select id="selectIF" parameterType="memberVO" resultType="memberVO">
SELECT
*
FROM TEST_TABLE
WHERE 1=1
<if test="name != '' and name != null">
AND name=#{name}
</if>
</select>
๋ง์ฝ name์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ์์ผ๋ฉด ํ์ ํ๊ทธ๋ฅผ ์คํํ๊ฒ ๋ฉ๋๋ค. ์๋ค๋ฉด if ํ๊ทธ์ ํ์ ํ๊ทธ๋ ๋ฌด์๋ฉ๋๋ค.
public MemberVO selectIF() {
sqlMapper = getInstance();
SqlSession session = sqlMapper.openSession();
MemberVO memberVo = new MemberVO();
MemberVO result = new MemberVO();
memberVo.setId("๊น๋ณ์ค");
memberVo.setName("๊น๋ณ์ค");
result = session.selectOne("mapper.member.selectIF", memberVo);
return result;
}
setName์ ์ด์ฉํ์ฌ ๊ฐ์ฒด์ ์์ฑ์ ์ง์ ํด์คฌ๊ธฐ ๋๋ฌธ์ if ํ๊ทธ์ ํ์ํ๊ทธ๋ ์๋ํ๊ฒ ๋ฉ๋๋ค.
๋ง์ฝ setName์ ์ํด์ฃผ๋ฉด ๊ฐ์ฒด๊ฐ ์์ด์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ์๋ฌ ์ด์ ๋ select * from table๋ก ์ฟผ๋ฆฌ๋ฌธ์ด ์๋ํ๊ฒ ๋๋๋ฐ ์ด ๊ฒฝ์ฐ selectOne์ด ์๋ selectList๋ก ๋ฐ์์ผํด์ ์๋ฌ๊ฐ ๋ฉ๋๋ค. ์๋ฌ๊ฐ ๋๋ค๋ ์ด์ ๋ง์ผ๋ก if ํ๊ทธ๋ฌธ์ด ๋ฌด์๋์๋ค๋ ๊ฑธ ์ ์ ์์ต๋๋ค.
์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ง๋ฌธ์ ์ธ์ ๋ ํ์ํฉ๋๋ค.
"๋ ๋ฐ๋์ ๋ฐฑ์๋ ์์ด ๋ ๊ฑฐ์ผ"
'...' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MyBatis] ๋ง์ด๋ฐํฐ์ค foreach ๊ตฌ๋ฌธ ์ฌ์ฉํ๊ธฐ (0) | 2021.01.10 |
---|---|
[MyBatis] ๋ง์ด๋ฐํฐ์ค choose ๋ฌธ ์ฌ์ฉํ๊ธฐ (0) | 2021.01.10 |
[Java] ์๋ฐ List ๋ฐ๋ณต๋ฌธ (ํฅ์๋ ๋ฐ๋ณต๋ฌธ) (0) | 2021.01.10 |
[Oracle] ์ค๋ผํด seq ์ต๋๊ฐ ๊ตฌํ๊ธฐ (0) | 2021.01.08 |
[MyBatis] ๋ง์ด๋ฐํฐ์ค selectOne๊ณผ selectList (0) | 2021.01.07 |