ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 아이바티스(iBATIS) vs 마이바티스(MyBatis) 태그 비교
    Spring 2019. 9. 29. 17:40
    반응형

    네임스페이스 형태

    iBATIS : <sqlMap namespace="bbsDAO">

    MyBatis : <mapper namespace="com.company.test.bbsMapper">

    Dynamic Query  iBATIS vs MyBatis 비교 예제

    iBATIS MyBatis
    isNull
    //searchName변수가 null이면
    <isNull property="searchName">
    AND NAME IS NOT NULL
    </isNull>
      //searchName변수가 null이면
    <if test='searchName == null'>
    AND NAME IS NOT NULL
    </if>
    isNotNull
    //searchName 변수가 널이 아니면 NAME 컬럼에 검색 값 대입
    <isNotNull property="searchName">
    AND NAME = #searchTxt# 
    </isNotNull>
    //searchName 변수가 널이 아니면 NAME 컬럼에 검색 값 대입
    <if test=' searchName != null ' >
    AND NAME = #{searchTxt}
    </if>
    isEmpty
    //searchName 변수가 공백이면
    <isEmpty property="searchName">
    AND NAME IS NOT NULL
    </isEmpty>
    //searchName 변수가 공백이면
    <if test='searchName == "" '>
    AND NAME IS NOT NULL
    </if>
    isNotEmpty
    //searchName 변수가 공백이 아니면
    <isNotEmpty property="searchName">
    AND NAME = #searchTxt# 
    </isNotEmpty>
    //searchName 변수가 공백이 아니면
    <if test="searchName != ''">
    AND NAME = #{searchTxt}
    </if>
    //searchAge변수가 20보다 클 경우
    <isGreaterThan property="searchAge" compareValue="20">
    조건 작성
    </isGreaterThan>
    //searchAge변수가 20보다 클 경우
    <if test='searchAge > 20'>
    조건 작성
    </if>
    isGreaterEqual
    //searchAge 변수가 20보다 크거나 같을 경우
    <isGreaterEqual  property="searchAge" compareValue="20">
    조건 작성
    </isGreaterEqual>
    //searchAge 변수가 20보다 크거나 같을 경우
    <if test='searchAge >= 20'>
    조건 작성
    </if>
    isLessThan
    //searchAge 변수가 20보다 작을 경우
    <isLessThan property="searchAge" compareValue="20">  
    조건 작성
    </isLessThan>
    //searchAge 변수가 20보다 작을 경우
    <if test='searchAge < 20'>
    조건 작성
    </if>
    isLessEqual
    //searchAge 변수가 20보다 작거나 같을 경우
    <isLessEqual property="searchAge" compareValue="20">
    조건 작성
    </isLessEqual>
    //searchAge 변수가 20보다 작거나 같을 경우
    <if test='searchAge <= 20'>
    조건 작성
    </if>
    isEqual
    //searchType변수의 값이 title이면
    <isEqual property="searchType" compareValue="title">
    AND TITLE = #searchTxt#
    </isEqual>
    //searchType변수의 값이 title이면
    <if test=' searchType == "title" '>
    AND TITLE = #{searchTxt}
    </if>
    isNotEqual
    //searchType변수의 값이 title이 아니면
    <isNotEqual property="searchType" compareValue="title">
    AND CONTENTS = #searchTxt#
    </isNotEqual>
    //searchType변수의 값이 title이 아니면
    <if test='searchType != "title"'>
    AND CONTENTS = #searchTxt#
    </if>

     

    Dynamic Query 종류

    iBATIS MyBatis
    태그 설명 태그 설명
     <isEqual>  property 값이 같을때만 쿼리 실행     일반 개발언어의 
    if or if ~ else와 동일
     <isNotEqual>  property 값이 같지 않을 때만 쿼리 실행 
     <isGreaterThan>  property 값이 비교값보다 클 경우 쿼리 실행 
    <isGreaterEqual>   property 값이 비교값보다 같거나 클 경우 쿼리 실행
     <isLessEqual>  property 값이 비교값보다 작거나 같을경우 쿼리 실행
     <isPropertyAvailable>  property 값이 유효할 경우 쿼리 실행
     <isNotPropertyAvailable>  property 값이 유효하지 않을 경우 쿼리 실행
     <isNull>  property 값이 null일 경우 쿼리 실행 
    <isNotNull>   property 값이 null이 아닐 경우 쿼리 실행 
    <isEmpty>   property 값이 비어있을경우 쿼리 실행
    <isNotEmpty>   property 값이 비어있지 않을경우 쿼리 실행 
     <isParameterPresent>  parameter가 있을경우 쿼리 실행
    <isNotParameterPresent>   parameter가 없을경우 쿼리 실행
    <iterate>   배열 타입의 파라미터를 받을 때 활용  <foreach>  배열 타입의 파라미터를 받을 때 활용 
    <dynamic>   하위 태그에 일치하는 내용이 존재할 경우   where절을 붙인다. <where>, <trim>   iBATIS의 <dynamic>과 같이 조건에 따라 where절을 추가할 때 사용
         <set>  동적으로 update 구문을 만들 때 사용
         <bind>  변수를 생성하는 태그 

     

    반응형

    댓글

Designed by Tistory.