반응형
1. MyBatis의 기본 동적 쿼리
MyBatis는 IBatis와 다른 점 중 하나는 $변수$, #변수#이게 아닌 ${변수}, #{변수}를 사용한다.
<select id="test" resultMap="testMap" parameterType="map">
SELECT NAME
FROM STUDENT
WHERE ${TEST} = #{NAME}
</select>
2. MyBatis의 if문
아래는 MyBatis의 가장 기본적인 if문이다. NO가 null인지 아닌지를 체크하는 쿼리다.
null이면 NO == null, null이 아닐 경우는 NO != null을 사용하면 된다.
<select id="test" resultMap="testMap" parameterType="map">
SELECT NAME
FROM STUDENT
<if test="NO != null">
WHERE NO = #{NO}
</if>
</select>
3. MyBatis의 문자열 비교
MyBatis의 문자열 비교는 싱글쿼터(')와 더블쿼터(")를 잘 사용해야 한다.
아래의 코드를 보자.
<select id="test" resultMap="testMap" parameterType="map">
SELECT NAME
FROM STUDENT
<if test="NO != "T"">
WHERE NO = #{NO}
</if>
</select>
위처럼 test 안에 ""(더블쿼터) 안에 더블쿼터를 쓰면 에러가 발생한다.
그래서, 더블쿼터를 T에 사용하고, 싱글쿼터로 더블 쿼터 글을 감싸줘야 한다.
또는 싱글쿼터를 사용하고 더블쿼터로 싱글 쿼터 글을 감싸준다.
<select id="test" resultMap="testMap" parameterType="map">
SELECT NAME
FROM STUDENT
<if test='NO != "T"'>
WHERE NO = #{NO}
</if>
</select>
반응형
'IT > 웹' 카테고리의 다른 글
[웹/Web] HTTP 쿠키의 개념 (0) | 2022.05.16 |
---|---|
크롬(Chrome) 캐시 비우기 및 강력 새로고침 하는 방법 (0) | 2022.05.15 |
Tomcat 9.0 다운로드 및 설치하는 방법 (0) | 2022.03.15 |
X-Frame-Options 옵션 정리 (0) | 2022.03.13 |
IBatis와 MyBatis의 설정 방식 차이점 (0) | 2021.12.27 |
Dto, Dao, Service, Controller (0) | 2021.04.26 |
[Web/BackEnd] 백엔드 내용 정리 (0) | 2021.04.04 |
[웹(Web) HTML/CSS] style 예제 (0) | 2021.01.15 |
최근댓글