Spring 회원 프로젝트(8) 회원정보 상세조회

woohee·2024년 4월 9일

회원 프로젝트

목록 보기
9/9

🔖지난 포스트에서 회원목록을 불러오는 것까지 진행했다. 이번 포스트에서는 목록에서 각각의 회원을 조회하는 과정을 수행하겠다!


MemberController 수정

회원 조회 페이지를 요청한다.

 @GetMapping("/member/{id}")
    public String findById(@PathVariable Long id, Model model){
        MemberDTO memberDTO = memberService.findById(id);
        model.addAttribute("member",memberDTO);
        return "detail";
    }
  • 각각의 회원은 id값으로 구분하고 id값으로 페이지를 요청한다.
  • memberService에 findById 메서드를 추가하고 해당 id의 회원을 찾는다.
  • model에 회원정보를 추가한다.
  • 조회 페이지를 요청한다.

MemberService 수정

findById 메서드 구현

 public MemberDTO findById(Long id) {
        Optional<MemberEntity> optionalMemberEntity = memberRepository.findById(id);
        if(optionalMemberEntity.isPresent()){
            return MemberDTO.toMemberDTO(optionalMemberEntity.get());
        }else{
            return null;
        }
    }
  • memberRepository에서 아이디를 찾고 엔티티에 넣어준다.
  • optionalMemberEntity에서 엔티티 정보를 가져오고 dto로 변환하여 리턴한다.
  • 회원정보가 없으면 null을 리턴한다.

detail.html 생성

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8">
    <title>detail</title>
</head>
<body>
<table>
    <tr>
        <th>id</th>
        <th>email</th>
        <th>password</th>
        <th>name</th>
    </tr>
    <tr>
        <td th:text="${member.id}"></td>
        <td th:text="${member.memberEmail}"></td>
        <td th:text="${member.memberPassword}"></td>
        <td th:text="${member.memberName}"></td>
    </tr>
</table>
</body>
</html>
  • 회원 정보의 아이디, 이베일, 비밀번호, 이름 정보를 가져온다.

✅실행

목록에서 각 회원의 조회를 누르면 상세정보로 넘어간다!


다음 포스트에서는 회원정보를 수정해보겠다.

0개의 댓글