개(발)린이
Spring(회원 가입 DB 저장 - 2) 본문
이번시간엔 본격적으로 DB에 회원정보를 저장하는 기능을 구현해 보겠다.
먼저 컨트롤러를 먼저 만들어준다.
@PostMapping("/signUp")
public String signUp(@ModelAttribute Member signUpMember,
RedirectAttributes ra) {
int result = service.signUp(signUpMember);
if(result > 0) {
ra.addFlashAttribute("message", "회원가입이 완료되었습니다.");
return "redirect:/";
} else {
ra.addFlashAttribute("message", "입력한 정보가 옳바르지 않습니다.");
return "member/signUp";
}
}
form태그에 action 속성값이 signUp이므로 @PostMapping("/signUp")을 작성하였다.
Member VO를 파라미터로 가져오기 위해 @ModelAttribute를 사용하였다.
그리고 결과값에 따라 메시지를 출력해주기 위해 RedirectAttributes도 추가하였다.
다음엔 서비스 인터페이스에 추상메소드를 추가해주고
public abstract int signUp(Member signUpMember);
MemberServiceImpl 클래스에 오버라이드 하여 메소드를 추가해준다.
@Override
public int signUp(Member signUpMember) {
//비밀번호 암호화
signUpMember.setMemberPw(bcrypt.encode(signUpMember.getMemberPw()));
return dao.signUp(signUpMember);
}
비밀번호 암호화는 잊지 말자
다음은 member-mapper.xml에있는 insert 태그이다
<insert id="signUp" parameterType="member">
INSERT INTO MEMBER_S VALUES(
SEQ_MEMBER_NO_S.NEXTVAL,
#{memberEmail},
#{memberPw},
#{memberNickname},
#{memberTel},
#{memberAddress},
DEFAULT, DEFAULT, DEFAULT)
</insert>
modelAttribute를 사용했기 때문에 파라미터타입은 member로 설정하고 insert기 때문에 result는 작성하지 않는다
그리고 이제 회원가입을 해보자
외적으로는 우선 유효성 검사는 통과하였다.
회원가입 완료 메시지가 출력되었다.
이제 DB에가서 잘 입력되었는지 확인해보자
잘 입력되었다
비밀번호 암호화까지 잘 수행되었다.
다음엔 이메일을 조회하면 그 유저에 대한 정보가 출력되는 기능을 한번 만들어 보겠다.
'Spring' 카테고리의 다른 글
String(my page) (0) | 2023.05.01 |
---|---|
Spring(예외처리) (0) | 2023.04.27 |
Spring(회원 가입 - DB저장) (0) | 2023.04.26 |
Spring(회원가입 - 이메일 중복 체크) (0) | 2023.04.26 |
Spring(암호화) (0) | 2023.04.26 |