<!-- 사용자 로그인 -->
<select id="selectLogin" resultType="kr.happyjob.study.login.model.LgnInfoModel">
/*kr.happy.study.login.dao.LoginDao.selectLogin*/
SELECT loginID as lgn_id
, name as usr_nm
, user_Type as mem_author
FROM tb_userinfo
WHERE loginID = #{lgn_Id}
AND password = #{pwd}
</select>
위의 /*kr.happy.study.login.dao.LoginDao.selectLogin*/
부분처럼, 다오 메소드 경로를 써두면 가독성에 도움이 된다!
<!-- 검색 -->
<select id="samplepage6listtotcant" resultType="int">
/*kr.happyjob.study.sampletest.dao.SampletestDao.samplepage6listtotcant*/
select count(ntc_no)
from tb_notice
<where>
<if test="(searchword != null) and (!searchword.equals(''))">
<choose>
<when test="searchoption eq 'title'.toString()">
and ntc_title Like CONCAT('%', #{searchword}, '%')
</when>
<when
test="searchoption eq 'cont'.toString()">
and ntc_content LIKE CONCAT('%', #{searchword}, '%')
</when>
<otherwise>
and (
ntc_title Like CONCAT('%', #{searchword}, '%')
or ntc_content LIKE CONCAT('%', #{searchword}, '%')
)
</otherwise>
</choose>
</if>
</where>
</select>
위의 경우처럼 일반적으로 쿼리문에서의 where조건절에 넣어서 많이 사용하지만, 마이바티스는 쿼리문 어디에나 사용가능하다.
select문 사이에 if문을 끼워넣어서 조건이 맞을 경우에만 select문에 넣을 수 있고, 쿼리문 전체에 if문을 넣어서 조건이 맞는 경우에만 쿼리문이 실행되게 만들 수도 있다. 또한, if문끼리의 중첩도 가능하다.
이처럼 마이바티스는 개발자의 활용능력에 따라서 엄청난 효율을 가져다 줄 수 있다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=nine01223&logNo=220422659318