04-회원제 게시판 만들기_SpringBoot와 JPA
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);
}
댓글남기기