본 게시물은 아래 링크를 정리한 내용입니다.
1. boardMapper.xml 파일에 아래 코드 추가
<select id="list" resultType="kr.co.vo.BoardVO">
SELECT BNO
, TITLE
, WRITER
, REGDATE
FROM MP_BOARD
ORDER BY BNO DESC
</select>
resultType : 쿼리 실행한 결과값을 담는 곳의 위치
2. BoardDAO 파일에 들어가 boardMapper와 연결되는 코드 작성
// 게시물 목록 조회
public List<BoardVO> list() throws Exception;
3. 구현부인 BoardDAOImpl에서 인터페이스 BoardDAO에 정의된 멤버들을 클래스에서 대신 구현한다.
// 게시물 목록 조회
@Override
public List<BoardVO> list() throws Exception {
return sqlSession.selectList("boardMapper.list");
// boardMapper.xml에서 mapper의 namespace가 boardMapper이고 그 중 id가 list인 것 가져와 반환
}
4. BoardDAO와 연결되는 BoardService 작성
// 게시물 목록 조회
public List<BoardVO> list() throws Exception;
5. 구현부인 BoardServiceImpl 작성
// 게시물 목록 조회
@Override
public List<BoardVO> list() throws Exception {
return dao.list(); // dao에 있는 list()함수 호출해 반환
}
6. BoardController로 들어와 URL은 '/list'로 정의
// 게시판 목록 조회
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(Model model) throws Exception{
logger.info("list");
model.addAttribute("list",service.list());
//service.list()에 담긴 데이터를 list 라는 이름으로 담을 것
return "board/list";
}
+ 게시판 글 작성 코드의 return값을 "redirect:/board/list"; 로 변경
오라클 -> DAO -> Service -> Controller로 가져온 데이터들을 jsp에 뿌려주는 작업을 할 것이다.
7. src/main/webapp/WEB-INF/views/board 폴더에 list.jsp 파일 생성하고 코드 입력
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판</title>
</head>
<body>
<div id = "root">
<header>
<h1>게시판</h1>
</header>
<hr />
<nav>
홈 - 글 작성
</nav>
<hr />
<section id = "container">
<form role = "form" method = "post" action = "/board/write">
<table>
<tr><th>번호</th><th>제목</th><th>작성자</th><th>등록일</th></tr>
<c:forEach items = "${list}" var = "list">
<tr>
<td><c:out value="${list.bno}"/></td>
<td><c:out value="${list.title}"/></td>
<td><c:out value="${list.writer}"/></td>
<td><fmt:formatDate value="${list.regdate}" pattern="yyyy-MM-dd"/></td>
</tr>
</c:forEach>
</table>
</form>
</section>
</div>
</body>
</html>
8. 확인하기
1) 서버 실행
2) localhost:8080/board/list 접속
참고 자료
'프로그래밍 > Spring' 카테고리의 다른 글
[게시판] 7. 게시판 글 수정 및 삭제 (0) | 2021.12.14 |
---|---|
[게시판] 6. 게시판 조회 기능 구현 (0) | 2021.12.12 |
Spring Framework (0) | 2021.12.11 |
[게시판] 4. 게시판 작성 기능 (0) | 2021.12.06 |
[게시판] 3. 한글 인코딩 및 Mybatis, 오라클 연동 (0) | 2021.11.16 |