본문 바로가기

plming/DB

iBatis 문자열 파라미터 비교

 

일반적으로 iBatis로 동적인 파라미터를 전달하여 처리할 경우

자주 사용되는 Map/HashMap에 이름/값 쌍을 입력시키고

 

Map<String, Object> params = new HashMap<String, Object>();

params.put( "put_name", "Y" );

 

 

arg1이 입력되었다면? 이라고 비교하려면

<if test="arg1 != null">

 

arg2가 입력되었고, "Y" 로 비교하려면

<if test='arg2 != null and arg2 == "Y"'>

 

즉, 기본 문법따라 항상 "" 으로 양쪽을 싸고 적긴하지만

<if 를 만난 후 특정 값(문자열)을 찾아야 한다면

arg2 처럼 {''} 로 문제를 에워싸고

에워싼 '' 안에서는 비교할 특정 문자열을

"Y" 식으로 적어줘야 정상적으로 비교된다.

 

 

하지만, 모든 경우가 다 그런 것은 아니다.

조건에 해당하는 것을 선택하는 경우에는

'' 으로 문자열을 에어싸도 정상적으로 비교된다.

<choose>
<when test="arg3 != null and arg3.equals('None')">
     AND ...
</when>
<otherwise></otherwise>
</choose>

 

하지만, 둘의 경우를 반대로 적으면... ^^;

 

'plming > DB' 카테고리의 다른 글

MSSQL - MSDN, 기본함수  (0) 2015.07.15
MSSQL - IDENTITY  (0) 2015.07.15
iBatis 문자열 파라미터 비교  (0) 2015.07.03
MSSQL - CONVERT 스타일 별 결과 값  (0) 2015.05.12
MSSQL과 Oracle 함수 비교  (0) 2015.05.12
MSSQL - NEWID  (0) 2015.05.12