쓸만한 JSP 홈페이지 만들기

file-query.xml

엉으니 2019. 6. 21. 19:28

첨부파일에 해당하는 모든 쿼리를 여기에 모아놓는다.

첨부파일은 공통기능으로 만든다. 첨부파일 외의 공통기능은 이런식으로 정의하면 되겠다.

<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문을 사용하여 불러올 수 있다.

반응형