2023.12.13 - [백엔드] - CRUD 게시판_insert 추가하기
이전 포스팅에서 insert를 추가하여 SQL developer에서 추가되는 것을 확인했다면, 이번에는 사이트에서 DB에 저장되어 있는 데이터를 가지고 와서 확인할 수 있도록 select 작업을 진행해보자.
우선 전체 목록을 가지고 오는 select는 따로 받을 것이 없기 때문에 DB에 있는 값을 가져와서 jsp에서 보여주기만 하면 된다.
그렇다는 건 리턴할 것은 있고, 받을 것은 없기에 파라미터는 비워두면 된다는 것.
이때, 리턴은 각 레코드를 VO에 담아 List에 차곡차곡 쌓아줄 것이다(List<BasicBoardVO>).
그럼 DB에 있는 값을 가지고 오는 것부터 해보자.
이전에 작업했던 코드에 이번 작업을 추가해보자.
우선 BasicBoardDao 에 select()를 추가한다.
그러면 자동으로 이 인터페이스를 상속받고 있는 BasicBoardDaoImpl는 자연스럽게 Override를 하게 되고, 거기에 select 쿼리를 추가해준다.
BasicBoardService 에도 select를 추가해주고,
BasicBoardService를 상속받은 BasicBoardServiceImpl에서 dao를 select를 불러주면,
controller에서 service의 select를 불러오자.
이미 controller에는 insert가 있고, select를 그냥 추가를 하면 insert가 함께 적용이 되기 때문에, 이를 방지하기 위해서 변수 sw를 추가하고 jsp에서 버튼을 누를 때 sw의 값을 insert는 I, select는 S로 함께 전달할 수 있도록 할 것이다.
이렇게 불러온 값을 List<BasicBoardVO>의 형태를 가진 li에 담아주고, 이 li를 jsp에서 불러올 수 있도록 request.setAttribute를 해주면 jsp에서 값을 받을 수 있게 된다.
sw가 S인 버튼을 눌렀을 때 list로 이동하기 위해서 RequestDispatcher ~ 를 해주면 basicBoard_list.jsp 파일로 이동할 수 있다.
insert 할 때는 sendRedirect, select 할 때는 forward로 이동하는 방식이 다르다는 것을 알아두자.
간단하게 sendRedirect는 url이 이동하는 곳으로 바뀌고, forward는 url이 변경되지 않는다.
그러면 이제 controller에서 setAttribute로 담아둔 값을 jsp에서 가지고 와서 화면에 출력해보자.
basicBoard_list.jsp
담아둔 값을 받아오기 위해서 request.getAttribute로 li를 가지고 와서 List<BasicBoardVO>의 형태를 한 li에 담아주는데, getAttribute를 하게 되면 그 형태가 Object이기 때문에 li의 형태인 List<BasicBoardVO>로 강제형변환을 해준다.
(여기에서 저 노란색 경고 선이 보기 싫다면 아래처럼 @SuppressWarnings("unchecked")로 확인되지 않은 오퍼레이션과 관련된 경고를 제어해주면 경고 선은 보이지 않는다)
이제 DB의 basicBoard 테이블에 있는 값을 jsp에서 li에 담았으니, 레코드 하나가 vo에 하나씩 들어갈 수 있도록 for문을 돌려 주고 각 레코드의 값을 하나하나 찍어주면 select가 완성이 된다.
이렇게 select 작업까지 완성이 되었다.
다음에는 삭제 버튼을 클릭하면 해당 레코드를 삭제할 수 있도록 delete 작업을 진행해보자.
'JSP' 카테고리의 다른 글
CRUD 게시판 _update 추가하기 (2) | 2024.01.02 |
---|---|
CRUD 게시판 _getBoard 추가하기 (2) | 2023.12.28 |
CRUD 게시판 _delete 추가하기 (0) | 2023.12.24 |
CRUD 게시판_insert 추가하기 (0) | 2023.12.13 |
백엔드 개발의 시작_CRUD 게시판 만들기 (0) | 2023.12.08 |