본문 바로가기
개발/Spring Boot

스프링부트(Spring Boot) 게시판 만들기 #7 - 조회 목록 만들기

by chansungs 2023. 9. 24.
728x90
반응형

환경

- intellij, 자바11, mysql, mybatis, jsp 

 

DB를 켜서 이전에 만들어둔 테이블에 추가로 데이터를 만들어 줍니다.

INSERT INTO study.notice (title, content, create_id, create_at) VALUES ('제목1', '내용1', '작성자1', CURRENT_TIMESTAMP);

INSERT INTO study.notice (title, content, create_id, create_at) VALUES ('제목2', '내용2', '작성자2', CURRENT_TIMESTAMP);

INSERT INTO study.notice (title, content, create_id, create_at) VALUES ('제목3', '내용3', '작성자3', CURRENT_TIMESTAMP);

INSERT INTO study.notice (title, content, create_id, create_at) VALUES ('제목4', '내용4', '작성자4', CURRENT_TIMESTAMP);

INSERT INTO study.notice (title, content, create_id, create_at) VALUES ('제목5', '내용5', '작성자5', CURRENT_TIMESTAMP);

 

 

 

 

게시판을 조회했던걸 리스트로 조회를 해야 합니다.

이전에 만들었던 소스를 수정하겠습니다.

 

pom.xml

<!-- 게시글 목록 -->
<select id="selectNoticeList" resultType="com.example.springbasic.notice.dto.response.NoticeResponse">
    select
         RANK() over (ORDER BY notice_id desc) as rankNo
        ,notice_id
        ,title
        ,content
        ,create_id
        ,create_at
    from study.notice
</select>

 

NoticeMapper.java

List<NoticeResponse> selectNoticeList();

 

NotcieService.java

public List<NoticeResponse> selectNoticeList() {
    return noticeMapper.selectNoticeList();
}

 

NoticeController.java

@RequestMapping(value = "/notice", method = RequestMethod.GET)
public String selectNoticeList(Model model) {

    List<NoticeResponse> noticeResponse = noticeService.selectNoticeList();
    System.out.println("noticeResponse ==> " + noticeResponse);
    model.addAttribute("notices", noticeResponse);

    return "notice/notice";
}

 

notice.jsp

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    table { border: 1px solid black; }
    th { border: 1px solid black; width: 5%; }
    td { border: 1px solid black; width: 5%; }
</style>
<body>
    <h1>게시판 목록</h1>

    <table border="1">
        <tr>
            <th>순번</th>
            <th>제목</th>
            <th>작성자</th>
            <th>등록일</th>
        </tr>
        <c:forEach var = "list" items = "${notices}">
            <tr>
                <td>${list.rankNo}</td>
                <td>${list.title}</td>
                <td>${list.createId}</td>
                <td>${list.createAt}</td>
            </tr>
        </c:forEach>

    </table>

</body>
</html>

 

출력 화면입니다.

 

 

제가 만든건 깃에 있으니 확인해보시기 바랍니다.

 

감사합니다.

 

 

 

 

728x90
반응형