Explorar el Código

페이징처리 쿼리문 변경. RANK() OVER(ORDER BY 조건문) AS NUMB 형태로

gagamel hace 5 años
padre
commit
301c189827

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfCart.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfCartDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 27 - 18
src/main/java/com/style24/persistence/mybatis/TsfCounsel.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfCounselDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	<!-- 1:1문의 생성 -->
 	<insert id="createOneToOneQna" parameterType="Counsel">
@@ -94,6 +100,7 @@
 	<!-- 1:1문의 목록 -->
 	<select id="getOneToOneQnaList" parameterType="Counsel" resultType="Counsel">
 		/* TsfCounsel.getOneToOneQnaList */
+		<include refid="selectForPagingHeader"/>
 		SELECT COUNSEL_SQ                                                     /*상담일련번호*/
 		     , SITE_CD                                                        /*사이트코드*/
 		     , FN_GET_CODE_NM('G059',COUNSEL_CLSF)        AS COUNSEL_CLSF_NM  /*상담분류명*/
@@ -111,13 +118,14 @@
 		     , ANS_STAT                                                       /*답변상태코드*/
 		     , FN_GET_CODE_NM('G060',ANS_STAT)            AS ANS_STAT_NM      /*답변상태명*/
 		     , DATE_FORMAT(ANS_DT,'%Y.%m.%d')             AS ANS_DT           /*답변일자*/
+		     , RANK() OVER(ORDER BY QUEST_DT DESC)        AS NUMB
 		FROM   TB_COUNSEL
 		WHERE  CUST_NO = #{custNo}
 		AND    SITE_CD = #{siteCd}
 		AND    COUNSEL_TYPE = 'C' /*상담유형(1:1문의)*/
 		AND    DEL_YN = 'N' /*삭제안된넘*/
 		ORDER  BY QUEST_DT DESC
-		<include refid="pageSql"></include>
+		<include refid="selectForPagingFooter"/>
 	</select>
 	
 	<!-- 1:1문의 삭제 -->
@@ -274,17 +282,19 @@
 	<!-- 상품문의 목록 -->
 	<select id="getGoodsQnaList" parameterType="Counsel" resultType="Counsel">
 		/* TsfCounsel.getGoodsQnaList */
-		SELECT A.COUNSEL_SQ                                      /*상담일련번호*/
-		     , A.SITE_CD                                         /*사이트코드*/
-		     , DATE_FORMAT(A.QUEST_DT,'%Y.%m.%d') AS QUEST_DT    /*문의일자*/
-		     , A.SECRET_YN                                       /*비밀글여부*/
-		     , A.CELL_PHNNO                                      /*휴대전화번호*/
-		     , A.SMS_REQ_YN                                      /*SMS(알림톡)답변수신여부*/
-		     , A.REL_GOODS_CD                                    /*관련상품코드*/
-		     , G.GOODS_NM                                        /*상품명*/
-		     , A.ANS_STAT                                        /*답변상태*/
-		     , FN_GET_CODE_NM('G060',ANS_STAT)    AS ANS_STAT_NM /*답변상태명*/
-		     , DATE_FORMAT(A.ANS_DT,'%Y.%m.%d')   AS ANS_DT      /*답변일자*/
+		<include refid="selectForPagingHeader"/>
+		SELECT A.COUNSEL_SQ                                       /*상담일련번호*/
+		     , A.SITE_CD                                          /*사이트코드*/
+		     , DATE_FORMAT(A.QUEST_DT,'%Y.%m.%d')  AS QUEST_DT    /*문의일자*/
+		     , A.SECRET_YN                                        /*비밀글여부*/
+		     , A.CELL_PHNNO                                       /*휴대전화번호*/
+		     , A.SMS_REQ_YN                                       /*SMS(알림톡)답변수신여부*/
+		     , A.REL_GOODS_CD                                     /*관련상품코드*/
+		     , G.GOODS_NM                                         /*상품명*/
+		     , A.ANS_STAT                                         /*답변상태*/
+		     , FN_GET_CODE_NM('G060',ANS_STAT)     AS ANS_STAT_NM /*답변상태명*/
+		     , DATE_FORMAT(A.ANS_DT,'%Y.%m.%d')    AS ANS_DT      /*답변일자*/
+		     , RANK() OVER(ORDER BY QUEST_DT DESC) AS NUMB
 		FROM   TB_COUNSEL A
 		     , TB_GOODS G
 		WHERE  A.REL_GOODS_CD = G.GOODS_CD
@@ -292,8 +302,7 @@
 		AND    A.SITE_CD = #{siteCd}
 		AND    A.COUNSEL_TYPE = 'G' /*상담유형(상품문의)*/
 		AND    A.DEL_YN = 'N' /*삭제안된넘*/
-		ORDER  BY A.QUEST_DT DESC
-		<include refid="pageSql"></include>
+		<include refid="selectForPagingFooter"/>
 	</select>
 	
 	<!-- 상품문의 삭제 -->

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfCoupon.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfCouponDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfCustomer.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfCustomerDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfDisplay.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfDisplayDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 20 - 13
src/main/java/com/style24/persistence/mybatis/TsfFaq.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfFaqDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	<!-- FAQ 자주 묻는 질문 목록 (10개) -->
 	<select id="getFaqLikesList" parameterType="String" resultType="Faq">
@@ -46,13 +52,15 @@
 	<!-- FAQ 목록 -->
 	<select id="getFaqList" parameterType="Faq" resultType="Faq">
 		/* TsfFaq.getFaqList */
-		SELECT FAQ_SQ                                         /*FAQ일련번호*/
-		     , SITE_CD                                        /*사이트코드(공통코드G000)*/
-		     , FAQ_TYPE                                       /*FAQ유형(공통코드G046)*/
-		     , FN_GET_CODE_NM('G046',FAQ_TYPE) AS FAQ_TYPE_NM /*FAQ유형명*/
-		     , QUESTION                                       /*질문*/
-		     , ANSWER                                         /*답변*/
-		     , DISP_ORD                                       /*표시순서*/
+		<include refid="selectForPagingHeader"/>
+		SELECT FAQ_SQ                                           /*FAQ일련번호*/
+		     , SITE_CD                                          /*사이트코드(공통코드G000)*/
+		     , FAQ_TYPE                                         /*FAQ유형(공통코드G046)*/
+		     , FN_GET_CODE_NM('G046',FAQ_TYPE)   AS FAQ_TYPE_NM /*FAQ유형명*/
+		     , QUESTION                                         /*질문*/
+		     , ANSWER                                           /*답변*/
+		     , DISP_ORD                                         /*표시순서*/
+		     , RANK() OVER(ORDER BY REG_DT DESC) AS NUMB
 		FROM   TB_FAQ
 		WHERE  SITE_CD = #{siteCd}
 		<if test='faqType != null and faqType !=""'>
@@ -66,8 +74,7 @@
 		        LOWER(ANSWER) LIKE CONCAT('%',LOWER(#{searchTxt}),'%')
 		       )
 		</if>
-		ORDER  BY REG_DT DESC
-		<include refid="pageSql"></include>
+		<include refid="selectForPagingFooter"/>
 	</select>
 
 	<!-- FAQ 조회수 Update -->

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfGiftcard.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfGiftcardDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfGoods.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfGoodsDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 20 - 11
src/main/java/com/style24/persistence/mybatis/TsfNotice.xml

@@ -2,9 +2,16 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfNoticeDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
 	
 	<!-- 공지사항 전체 건수 조회 -->
@@ -25,15 +32,18 @@
 	<!-- 공지사항 목록 -->
 	<select id="getNoticeList" parameterType="Notice" resultType="Notice">
 		/* TsfNotice.getNoticeList */
-		SELECT NOTICE_SQ                                  /*공지사항일련번호*/
-		     , NOTICE_TITLE                               /*공지제목*/
-		     , NOTICE_CONTENT                             /*공지내용*/
-		     , READ_CNT                                   /*조회수*/
-		     , DATE_FORMAT(REG_DT,'%Y.%m.%d') AS REG_DT   /*등록일자*/
+		<include refid="selectForPagingHeader"/>
+		SELECT NOTICE_SQ                                     /*공지사항일련번호*/
+		     , NOTICE_TITLE                                  /*공지제목*/
+		     , NOTICE_CONTENT                                /*공지내용*/
+		     , READ_CNT                                      /*조회수*/
+		     , DATE_FORMAT(REG_DT,'%Y.%m.%d')    AS REG_DT   /*등록일자*/
 		     , (SELECT COUNT(1)
 		        FROM   TB_NOTICE_FILE
 		        WHERE  NOTICE_SQ = A.NOTICE_SQ
-		       )                              AS FILE_CNT /*첨부파일건수*/
+		       )                                 AS FILE_CNT /*첨부파일건수*/
+		     , RANK() OVER(ORDER BY URGENT_YN DESC
+		                          , REG_DT DESC) AS NUMB
 		FROM   TB_NOTICE A
 		WHERE  NOTICE_TYPE = 'G047_10' /*사이트공지*/
 		AND    USE_YN =  'Y'
@@ -43,8 +53,7 @@
 		               WHERE  NOTICE_SQ = A.NOTICE_SQ
 		               AND    RECEIVER_ID = #{siteCd}
 		              )
-		ORDER  BY URGENT_YN DESC, REG_DT DESC
-		<include refid="pageSql"></include>
+		<include refid="selectForPagingFooter"/>
 	</select>
 
 	<!-- 공지사항 파일 목록 -->

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfOrder.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfOrderDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfPlanning.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfPlanningDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfPoint.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfPointDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfReview.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfReviewDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->
 	
 	
 

+ 10 - 4
src/main/java/com/style24/persistence/mybatis/TsfWishlist.xml

@@ -2,11 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.style24.front.biz.dao.TsfWishlistDao">
 
-	<!-- Paging -->
-	<sql id="pageSql">
-		LIMIT #{pageable.startRow}, #{pageable.pageSize}
+	<!-- 페이징을 위한 select절 상단 -->
+	<sql id="selectForPagingHeader">
+		SELECT *
+		FROM   (
+	</sql>
+
+	<!-- 페이징을 위한 select절 하단 -->
+	<sql id="selectForPagingFooter">
+		       ) ORIGINAL
+		WHERE  NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
 	</sql>
-	<!--// Paging -->