Spring/Spring boot icia 69일차

Spring boot로 member 시스템 만들기

swkn 2023. 5. 31. 17:37

1. MemberDTO

더보기
package com.icia.member.DTO;

import com.icia.member.Entity.MemberEntity;
import lombok.Data;

@Data

public class MemberDTO {
    private Long id;
    private String memberEmail;
    private String memberPassword;
    private String memberName;
    private String memberBirth;
    private String memberMobile;

    public static MemberDTO toList(MemberEntity memberEntity) {
        MemberDTO memberDTO = new MemberDTO();
        memberDTO.setId(memberEntity.getId());
        memberDTO.setMemberEmail(memberEntity.getMemberEmail());
        memberDTO.setMemberPassword(memberEntity.getMemberPassword());
        memberDTO.setMemberName(memberEntity.getMemberName());
        memberDTO.setMemberBirth(memberEntity.getMemberBirth());
        memberDTO.setMemberMobile(memberEntity.getMemberMobile());
        return memberDTO;
    }

}

Service부터는 Entity로 관리하기 때문에 변환 메소드를 작성했다.

 

2. MemberEntity

더보기
package com.icia.member.Entity;

import com.icia.member.DTO.MemberDTO;
import lombok.Data;

import javax.persistence.*;

@Entity
@Data
@Table(name = "member_table")
public class MemberEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(length = 50, nullable = false, unique = true)
    private String memberEmail;

    @Column(length = 20, nullable = false)
    private String memberPassword;

    @Column(length = 20, nullable = false)
    private String memberName;

    @Column(length = 20)
    private String memberBirth;

    @Column(length = 30)
    private String memberMobile;

    public static MemberEntity toSaveEntity(MemberDTO memberDTO) {
        MemberEntity memberEntity = new MemberEntity();
        memberEntity.setMemberEmail(memberDTO.getMemberEmail());
        memberEntity.setMemberPassword(memberDTO.getMemberPassword());
        memberEntity.setMemberName(memberDTO.getMemberName());
        memberEntity.setMemberBirth(memberDTO.getMemberBirth());
        memberEntity.setMemberMobile(memberDTO.getMemberMobile());
        return memberEntity;
    }
    public static MemberEntity toUpdateEntity(MemberDTO memberDTO) {
        MemberEntity memberEntity = MemberEntity.toSaveEntity(memberDTO);
        memberEntity.setId(memberDTO.getId());
        return memberEntity;
    }
}

save로 저장할때 변환할 toSaveEntity 메소드와 같은 save지만 update때 사용할 id를 추가한 toUpdateEntity 메소드를 작성했다.

save 메소드를 사용할 땐 insert가 되지만 같은 id를 save할 경우 update 쿼리로 변경되기 때문이다.

3. index

<!DOCTYPE html>
<html lang="en" xmlns::th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div th:replace="component/header :: header"></div>
<div th:replace="component/nav :: nav"></div>
<a href="/member/save">회원가입</a>
<a href="/member/login">로그인</a>
<a href="/member/">목록</a>
<div th:replace="component/footer :: footer"></div>
</body>
</html>
<div th:replace="component/header :: header"></div>

이 코드는 

<%@include file="../component/header.jsp" %>

Spring Frameword에서 사용하던 include와 같은 뜻이다.

 

 

4. github

https://github.com/swknjj/member_20230531.git