본문 바로가기
개발/개인

사용자 이름,사원번호 검색 페이징 수정 , 검색 쿼리의 변화

by areumtb 2016. 12. 20.

사용자 이름,사원번호 검색 페이징시 총 레코드의 수를 EMP.size();로 해놔서 지정해준 10개로 출력이 되었었음.


이런 에러를 모르다가 19일 월요일에 발견


검색된 데이터의 count가 필요했음 검색하다가 또다른 페이징쿼리를 발견. 


COUNT (*) OVER () AS row_count,


참고 : http://javaexpert.tistory.com/503


페이징시 총 레코드의 값을 알고싶을때 사용할수있다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    SELECT *
    FROM (SELECT ROW_NUMBER () OVER 
    (ORDER BY ${sidx}
        <if test="sord == ('asc')">ASC</if>
        <if test="sord == ('desc')">DESC</if>
        ) AS ROW_NUMBER,
    COUNT (*) OVER () AS row_count,
    E.ENAME,E.NAME,E.DCODE,BIREDAY,
    DE.DESCRIPTION AS DEPARTMENT,
    PO.DESCRIPTION AS POSITION,
    PR.DESCRIPTION AS PRESENT
    FROM CODE_TABLE PO,CODE_TABLE PR, CODE_TABLE DE ,EMPLOYEE E
    WHERE DE.CODE = E.DEPARTMENT AND
    PO.CODE = E.POSITION AND
    PR.CODE = E.PRESENT
    AND NAME like '%'||#{NAME}||'%')
    WHERE ROW_NUMBER BETWEEN  ${startCount} AND ${endCount}
  
 
cs



이렇게 쓰인다고 한다... 



그래서 searchVo에 row_count 를 추가해주고  record값을 emp.get(0).getRow_count(); 이렇게 주었다.


※배열에서 하나의 값을 꺼내올때

emp.get(0).getRow_count();  이렇게 꺼내온다는것을 알았돵   // 0부터시작하기때문에  젤 처음 값 뽑으려면 0으로...

배열.get(꺼내올 배열 순서값).get꺼내올데이터();





검색 쿼리의 변화








댓글