스프링 부트/스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

17. 회원 웹 기능 - 조회

sungw00 2023. 3. 13. 17:13
728x90

회원 웹 기능 - 조회

아직은 회원 목록을 누르면 작동하지 않는다. 하지만 /member로 가게 설정해두었기 때문에 컨트롤러에서 members로 GetMapping을 하고 코드를 작성한다.

...
@GetMapping("/members")
    public String list(Model model) {
        List<Member> members = memberService.findMembers();
        model.addAttribute("members", members);
        return "members/memberList";
    }

memberList를 생성해서 회원 목록을 보여주는 페이지를 만든다.

<!-- members/memberList.html -->
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<div class="container">
 <div>
 <table>
 <thead> <tr>
 <th>#</th>
 <th>이름</th>
 </tr>
 </thead>
 <tbody>
 <tr th:each="member : ${members}">
 <td th:text="${member.id}"></td>
 <td th:text="${member.name}"></td>
 </tr>
 </tbody>
 </table>
 </div>
</div> <!-- /container -->
</body>
</html>

model의 key로 모든 회원을 조회해서 members에 담아두고, 반복을 돌며 Member 클래스의 getId( ) 메서드와 getName( )의 메서드를 통해 접근하여 모든 회원의 id와 name을 출력한다.

타임리프와 같은 템플릿 엔진의 역할: 데이터를 읽어들여 렌더링 후의 결과를 출력

 

여기까지 완료하게 되면 회원 등록 및 회원 목록 출력이 가능하다.

하지만 데이터가 모두 메모리에 있기때문에 서버를 재시작하게 되면 데이터가 모두 지워지게 된다.

스프링 데이터 액세스라는 기술을 통해 스프링을 DB와 연결하게 되면 데이터를 저장하는 것이 가능해진다.

서버를 재시작한 후의 회원 목록(전부 삭제됨)

 

728x90