1 분 소요

**[공지사항]** [개인적인 공부를 위한 내용입니다. 오류가 있을 수 있습니다.]

02-회원(member)파트 - SpringBoot

[나의 정보조회]


나의 정보조회 링크를 index.html에 추가해준다.


    <a href="member/mypage">나의정보 조회</a><br><br>


나의 정보를 보여주는 페이지를 만들기 위해 resources/member 폴더 內 mypage.html을 만들어준다.


<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Mypage.html</title>
</head>
<body>
<div th:align="center">
    <h3>마이페이지</h3><br>
    <table>
        <thead>
        <tr>
            <th>번호</th>
            <th>이름</th>
<!--            <th>비밀번호</th>-->
            <th>이메일</th>
            <th>주소</th>
            <th>핸드폰 번호</th>
            <th>생년월일</th>
<!--            <th>파일</th>-->
<!--            <th>파일명</th>-->
        </tr>
        </thead>
        <tbody>
        <tr>
            <td th:text="${member.memberId}"></td>
            <td th:text="${member.memberName}"></td>
            <td th:hidden="${member.memberPw}"></td>
            <td th:text="${member.memberEmail}"></td>
            <td th:text="${member.memberAddr}"></td>
            <td th:text="${member.memberPhone}"></td>
            <td th:text="${member.memberDate}"></td>
<!--            <td th:file="${member.memberFile}"></td>-->
<!--            <td><img th:src="@{/resources/templates/img/}+${member.memberFilename}" alt="프로필사진"></td>-->
        </tr>
        </tbody>
    </table>
</div>
</body>
</html>



위의 정보를 보여주기 위해 dto package 內 MemberDetailDTO를 만들어준다.
public class MemberDetailDTO {

    private Long memberId;
    private String memberName;
    private String memberPw;
    private String memberEmail;
    private String memberAddr;
    private String memberPhone;
    private Date memberDate;
//    private MultipartFile memberFile;
    private String memberFilename;
    
    }


mypage를 사용자에게 보여주기 위해 MemberController 內 메서드를 추가해준다.
    // 마이페이지 보여주기
    @GetMapping("/mypage")
    public String mypageForm(Model model, HttpSession session) {
        String memberEmail = (String) session.getAttribute("loginEmail");
        MemberDetailDTO member = ms.findByMemberEmail(memberEmail);
        model.addAttribute("member", member);
        return "member/mypage";
    }


ms.findByMemberEmail을 클릭하면 MemberService에 해당 내용이 추가된다.
  MemberDetailDTO findByMemberEmail(String memberEmail);


MemberServiceImpl에 내용을 추가해준다.
    // 수정화면 보여주기
    @Override
    public MemberDetailDTO findByMemberEmail(String memberEmail) {
        MemberEntity memberEntity = mr.findByMemberEmail(memberEmail);
        MemberDetailDTO memberDetailDTO = MemberDetailDTO.toMemberDetailDTO(memberEntity);
        return memberDetailDTO;
    }


MemberServiceImpl 內 빨간색으로 처리된 mr.findByMemberEmail을 클릭하면 MemberRepository에 내용이 추가된다.
public interface MemberRepository extends JpaRepository<MemberEntity, Long> {
    MemberEntity findByMemberEmail(String memberEmail);
    }


여기까지 작성 후 서버를 실행한다. 그리고 로그인 후 나의 정보조회 링크를 클릭 해 아래와 같이 정보가 조회되면 정상이다.

나의 정보조회 끝

댓글남기기