본문 바로가기

MyBatis

MyBatis Mapper if 구문에서 메서드 호출하기

반응형

MyBatis mapper 파일에 SQL을 작성하다보면 if문 또는 choose문을 사용할 일이 종종 있다.
예를들어 가장 많이 사용하는 구문중에 하나가 문자열에 대한 null 체크나 공백 체크등이 있을텐데 그럴때는 보통 아래와 같이 처리하곤 한다.

 
	keyword = #{keyword} 

 

그런데 만약 위와같이 간단한 부분이 아니라 특정 로직을 통해 if구문을 사용하려면 어떻게 하면 될까?
답은 바로 boolean 리턴타입을 갖는 메서드를 생성하고 if 구문에서 해당 메서드를 호출하면 된다.

위 예제에서 보았던 if 구문을 StringUtils를 이용하여 구현하면 아래와 같이 처리할 수 있다.

 


	keyword = #{keyword}