iBatis에서 Where 문에 LIKE 조건을 만들때 아래와 같이 #name# 좌우에 '%'|| 와 ||'%' 를 감싸준다.
자바에서 %__% 를 구성하여 $name$ 로 던지는 방법도 있지만 아래의 방법이 효율적이다.
<isNotEmpty prepend="AND"property="name">
NAME LIKE '%'|| #name# ||'%'
</isNotEmpty>
컬럼명과 파라미터에 함수를 적용하기에도 용이하다.
<isNotEmpty prepend="AND"property="name">
FUNC(NAME) LIKE '%'|| FUNC(#name#) ||'%'
</isNotEmpty>
iBatis에서 Where 문에 IN 조건을 만들때 아래와 같이 IN ( ) 안에 $names$ 와 같은 형태로 기술한다.
파라미터 names 에는 값1, 값2, 값3 과 같이 콤마로 구분하여 값을 넣어서 전달한다.
<isNotEmpty prepend="AND"property="names">
NAME IN ($names$)
</isNotEmpty>
전체코드는 아래와 같다.
<sql id="whereCondition">
<dynamic>
<isNotEmpty prepend="AND"property="name">
NAME LIKE '%'|| #name# ||'%'
</isNotEmpty>
<isNotEmpty prepend="AND"property="names">
TYPE IN ($names$)
</isNotEmpty>
</dynamic>
</sql>
'■ Data Skill ■ > MyBatis' 카테고리의 다른 글
[MyBatis] MyBatis 설정, 간단한 예제, 스프링 Bean 등록 (0) | 2023.02.25 |
---|---|
[iBatis] iBatis LIKE 구문과 Dynamic SQL을 사용할 때 (0) | 2023.02.25 |
[iBatis] iBatis 소스 생성 툴 ibator의 간단한 사용법 (0) | 2023.02.25 |
댓글