==========================3월 22일 월요일===============================
💻 [수정처리 복습]
web.xml 문서확인 => servlet-context.xml =>dao-context.xml
실행 순서>>
index.jsp -> ( boardList.do실행 ->) boardList.jsp -> 제목클릭-> boardDetail.jsp
(페이징, 검색, 댓글수) (삭제, 수정, 다운로드, 댓글)
1> boardEdit.jsp문서에서 수정할 뷰문서
ㅣ- boardController.java
ㅣ- boardDAO.java 메소드 dbEdit(BoardDTO dto)
ㅣ- board.xml쿼리문기술
2> board.xml
<update id="update> update ~ where hobby_idx=#{ } </update>
3> BoardDAO.java
public void dbEdit(BoardDTO dto){ temp.update("board.update", dto) ; }
4> boardEdit.jsp문서 수정할 뷰문서
<form action="boardEdit.do" method enctype > </form>
5> BoardController.java
@RequestMapping("/boardEdit.do")
public String board_update(BoardDTO dto){ dbEdit(dto) ; return "redirect:/boardList.do"; }
////////////////////////////////////////////////////////////////////////////////////////////////////////
💻 [페이징]
1> BoardDAO.java
l - public List dbList(start, end){ //페이징 }
l - public List dbList(start, end,skey, sval){ //페이징+검색 }
l - public int dbSearchCount(skey, sval){ //검색필드, 검색키워드, 조회수 }
참고) 순수jsp문서에서 페이징구현 참고 Web0105프젝 guestList.jsp문서
참고) 서블릿문서에서 페이징구현 참고 Web0215프젝 guestController.java문서
GuestSQL.java문서--> dbSelectAll(int start, int end)
2> BoardDTO.java
start, end, skey, sval 필드선언 후 리턴값 게터(X) / void 세터(매개인자)
3> board.xml쿼리문 기술
<select id="selectAll777" resultType="net.hb.crud.BoardDTO">
select ~~ where title like %s% (s라는 글자가 들어가면 다 검색)
</select>
<select id="selectAll789" resultType="net.hb.crud.BoardDTO">
<!-- 선택한 [24] 클릭 ~~~ -->
select ~~
고정 where rn between 231시작행 and 240끝행
변수where rn between #{start} and {end}
</select>
💡
<!-- 잠깐 검색 설명하자면 where title필드명 like '$s값%' -->
틀림 select ~where #{skey} like '%#{sval}%
반쪽정답 select ~ where ${skey} like '%#{sval}%' ===>값이아닌 필드명 기술할땐 #아니고 $로 기술
완전정답 select ~ where ${skey} like '%' || #{sval} || '%' 위처럼 쓰면 인식 안되니까 이렇게
4> BoardController.java
@RequestMapping("/boardList.do")
public String board_select(Model model){
삭제 성공 후 리스트페이지 이동할때 페이지번호를 선택하지않으면 자동으로 [1]선택되도록 함
저장 성공 후 리스트페이지 이동할때 페이지번호를 선택하지않으면 자동으로 [1]선택되도록 함
String pnum; pnum=request.getParameter("pageNum"); if(pnum==""||pnum==null){ pnum=="1"; }
int pageNUM, temp;
int start 231, end 240, startpage 21, endpage 30 ; // [21] ~ [24]선택 ~[30][다음]
int pagecount; //316개데이터 있을때 총페이지 32
List LG =dbList(start,end); //DAO클래스 메소드중복
model.addAttribute("pageCount", pageCount);
//조회 String skey, sval, returnpage
}
===============================================================================================================================================
오늘 수업까지 완성 화면~~~
[이전], [다음]버튼도 나오고 게시물 상세페이지로 들어가서 수정까지 모두 가능 :)
페이징 생각보다 어렵고 복잡하구나,,,😭
(특히..개인적으로 BoardController.java 여기 ...)
무튼 내일은 페이징처리 마무리하고 검색까지 !!!
'Today I Learned' 카테고리의 다른 글
2021.03.23(Thu) 📌 TIL (0) | 2021.03.23 |
---|---|
2021.03.19(Fri) 📌 TIL (0) | 2021.03.19 |
2021.03.18(Thu) 📌 TIL (0) | 2021.03.18 |
2021.03.17(Wed) 📌 TIL (0) | 2021.03.17 |
2021.03.16(Thu) 📌 TIL (0) | 2021.03.17 |