계층형 게시판 CRUD 및 페이징 검색기능 완료.
오늘 작업중 시간이 오래 걸렸던 것들은 바보같이 JQuery 작성해놓고 정작 JQuery 연결 안해놔서 1시간 고생...ㅠㅠ
그리고 페이징과 검색기능 같이 사용할 수 있는 쿼리문 작성하는데 많이 막힘.
계층형 쿼리로 먼저 쿼리문 다 짜놓고 거기다가 덮어서 작성했는데 페이징 추가하다보니 거기서 또 막힘...ㅠㅠ
처음 작성할때는 LEVEL을 사용해서 계층형 쿼리 짜두었다가 그 위에 ROWNUM 덮으려고 했더니 계속 에러 발생.
결국에는 좀 복잡하게 쿼리문 작성.
SELECT *
FROM (
SELECT ROWNUM AS RNUM, A.*
FROM (
select *
from HierarchicalBoard
WHERE 1=1
<include refid="search"></include>
START WITH boardUpperNo = 0
CONNECT BY PRIOR boardNo = boardUpperNo
ORDER SIBLINGS BY boardGroupNo DESC
) A
)
WHERE RNUM BETWEEN ${rowStart} AND ${rowEnd}
이렇게 해결. 처음에는 RNUM을 제일 안에다가 넣어뒀는데 그랬더니 CONNECT BY 랑 꼬이는지 CONNECT BY 절을 계속 지우라고 함. 지우자니 로직을 새로 짜야겠고.... 그래서 조금 복잡하게 가기로함 ㅠㅠ
그리고 interceptor를 처음 적용해봤는데 조금 더 파고들면 다양하게 쓸 수 있을 듯.
preHandle은 잘 작성해서 적용했지만 원래 목적이었던 postHandle에서의 처리는 이상하게 response.sendRedirect가 안되서 결국 컨트롤러를 void에서 String으로 변경하고 페이지 이동처리 함.
찾아보면 다 같은 방법으로 사용하던데 이상하게 Redirect하라고 적어놓은 경로가 아닌 context.xml에 interceptor 경로로 mapping 해놓은 경로를 가져와서 넘김. 처음에는 설마 했지만 mapping path를 변경하니까 그 페이지로 넘어가더라..ㅠㅠ 이거는 플젝 끝나고 다시 공부해야함.
일단 게시판 두개짜리 프로젝트기도 하고 해서 생각보다 Oracle에서의 막힘은 오히려 처음 설치밖에 없었던 것 같다.
'Project&문제해결' 카테고리의 다른 글
JQuery .append로 button 추가 후 click (0) | 2020.11.05 |
---|---|
BoardProject 11/4 JSON해결. (0) | 2020.11.04 |
6월 25일 에러 (thehouseProject) (0) | 2020.06.25 |
6월 24일 에러 (thehouseProject) (0) | 2020.06.24 |
6월 23일 에러 (thehouseProject) (0) | 2020.06.23 |