첨부파일에 해당하는 모든 쿼리를 여기에 모아놓는다.
첨부파일은 공통기능으로 만든다. 첨부파일 외의 공통기능은 이런식으로 정의하면 되겠다.
<mapper namespace="common.file">
<sql id="defaultWhere">
<if test="delYn != '' and delYn != null">
AND A.DEL_YN = #{delYn}
</if>
<if test="tempYn != null and tempYn != ''">
AND B.TMP_YN = #{tempYn}
</if>
</sql>
<select id="selectAtchFileId" resultType="fileVO">
SELECT IFNULL(MAX(ATCH_FILE_ID), 0)+1 FROM YE_ATCH_FILE
</select>
<select id="selectFileInfo" parameterType="fileVO" resultType="fileVO">
SELECT A.ATCH_FILE_ID atchFileId
, A.FILE_DTL
, A.USE_YN useYn
, A.REG_DATE regDate
, A.TMP_YN tempYn
FROM YE_ATCH_FILE A
</select>
<select id="selectFile" parameterType="fileVO" resultType="fileVO">
SELECT A.ATCH_FILE_ID atchFileId
, A.TMP_YN tempYn
, B.FILE_SEQ fileSeq
, B.ORGIN_FILE_NM orginFileNm
, B.STRGE_FILE_NM strgeFileNm
, B.STRGE_PATH strgePath
, B.FILE_EXT fileExtsnmn
, B.FILE_SZ fileSize
, B.FILE_DTL fileDesc
, B.REG_DATE regDate
FROM YE_ATCH_FILE A INNER JOIN YE_ATCH_FILE_DTL B ON A.ATCH_FILE_ID = B.ATCH_FILE_ID
WHERE A.ATCH_FILE_ID = #{atchFileId}
<include refid="defaultWhere"/>
ORDER BY B.FILE_SEQ ASC
</select>
</mapper>
defaultWhere을 정의하여 단순히 복붙하여 소스를 만들기 쉽게 했다.
추후에 공통으로 적용할 조건이 있으면 include문을 사용하여 불러올 수 있다.
반응형
'쓸만한 JSP 홈페이지 만들기' 카테고리의 다른 글
공통클래스 - MariaUsTypeHandler (0) | 2019.06.21 |
---|---|
mybatis연동 config.xml (1) | 2019.06.21 |
cache-query.xml (0) | 2019.06.21 |
공통클래스 - CommonDAO / CommonDAOImpl (0) | 2019.06.20 |
Spring 설정xml - common-context.xml (0) | 2019.05.05 |