안녕하세요 상훈입니다.
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. 매개변수 유형, 결과 유형 쓰지 않습니다.
그게 다야.
도움이 되셨다면 여유롭게 커피 한잔 사주시면 감사하겠습니다.