(Java) MyBatis를 사용하여 SQL을 쿼리하는 방법 포함

안녕하세요 상훈입니다.

Spring과 MyBatis에서 각종 쿼리를 작성하고 이것저것 같은 부분을 작성할 때 사용하는 방법이다.


1. 주요 기능 설정

<select id="selectListPage" 
    parameterType="a.b.c.ABCDTO"			
    resultType="a.b.c.ABCDTO"
    >			
        <include refid="COMMON.pagingPreSQL" />
        <include refid="listPage" />
        <include refid="COMMON.pagingPostSQL" />
</select>

여기서 주의사항!

refid = “” 포함 작성 당시,

1. listPage와 동일한 파일에 쿼리를 작성합니다.
2. 다른 파일에서 쿼리를 가져와서 사용하려면, 해당 매퍼 ~의 네임스페이스 체이닝으로 작성해주세요. COMMON.pagingPreSQL처럼 쓰기


2. 각 기능 설정

/*기본 목록 조회 */	
<sql id="listAdmUserBas"	>			
    SELECT USER_ID	/* 사용자아이디 */
         , DESIG_IP	/* 지정IP주소 */
         , USER_PWD	/* 사용자비밀번호 */
      FROM 테이블명	
     WHERE 1=1	
    <if test="userId != """> <!-- 사용자 아이디가 있을 경우 -->
        AND USER_ID LIKE CONCAT('%',#{userId},'%')
    </if>
    <if test="desigIp != """> <!-- 지정 아이피가 있을 경우 -->
        AND DESIG_IP LIKE CONCAT('%',#{desigIp},'%')
    </if>
    <if test="brofcCd != """> <!-- 코드가 있을 경우 -->
        AND BROFC_CD LIKE CONCAT('%',#{brofcCd},'%')
    </if>
</sql>

각 기능을 담당하는 쿼리는 메인 쿼리 로직과 다릅니다.

1. 각 기능에 대한 쿼리는 모두 태그로 설정
2. 매개변수 유형, 결과 유형 쓰지 않습니다.

그게 다야.

도움이 되셨다면 여유롭게 커피 한잔 사주시면 감사하겠습니다.