Hello

05. 회원가입_회원가입 완료

by 볼빵빵오춘기

MemberEntity

DTO → Entity로 변환에 필요한 메서드 작성한다.(Entity객체를 static 메서드로 정의해서 변환한다.)

더보기

조건으로는 repository로 DB를 작업할 때는 엔티티로 넘겨줘야한다.

MemberController.java를 보면 save() 메서드에 매개변수를 DTO로 담아왔다.

    @PostMapping("/member/save")
    public String save(@ModelAttribute MemberDTO memberDTO){
        System.out.println(memberDTO); // 잘 담아져 왔나 확인 차 출력해보는 코드
        memberService.save(memberDTO);
        return "login";
    }

DTO → Entity로 변환해서 넘겨야한다.

따라서 Service에서 작업시 유의사항은 아래와 같다.

  • dto → entity 변환
  • repositoryd의 save 메서드 호출
  • repository의 save메서드 호출(조건. entity객체를 넘겨줘야한다.)

 

이때, 방법이 여러가지 있다. (2가지만 얘기하자면 추가적인 방법은 찾아보기)

  • 서비스메서드에서 별도의 메서드를 두고 바꾸는 방법
  • 엔티티클래스에다가 변환하는 방법(팩토리메서드)
    public static MemberEntity toMemberEntity(MemberDTO memberDTO){
        MemberEntity memberEntity = new MemberEntity();
        memberEntity.setMemberEmail(memberDTO.getMemberEmail());
        memberEntity.setMemberPassword(memberDTO.getMemberPassword());
        memberEntity.setMemberName(memberDTO.getMemberName());
        return memberEntity;
    }

 

MemberService

save() 코드 추가한다.

@Service
@RequiredArgsConstructor
public class MemberService {

    private final MemberRepository memberRepository;
    public void save(MemberDTO memberDTO) {
        // 1. dto -> entity 변환
        // => MemberRepository에서 변환함
        // 작성은 MemberEntity에서 작성함
        // 2. repository의 save 메서드 작성
        MemberEntity memberEntity = MemberEntity.toMemberEntity(memberDTO);
        memberRepository.save(memberEntity);
        // repository의 save메서드 호출(조건. entity객체를 넘겨줘야 함)

    }
}

 

MemberController

return 되는 페이지 login으로 수정한다.

    @PostMapping("/member/save")
    public String save(@ModelAttribute MemberDTO memberDTO){
        System.out.println(memberDTO);
        memberService.save(memberDTO);
        return "login";
    }

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기