반응형

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>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기