· 프로젝트로 연습하기/└ Project1_프로그램의 구성 이해

[ Java / Database ] 회원가입 클래스 만들기

감자도리22 2024. 2. 3. 15:00

환경 : Eclipse / DBeaver

 

 

[UserJoining.java]

 - 필수로 입력받아야하는 데이터들은 필수로 입력받는다

 - 아이디가 기존 테이블에 있으면 생성되지 않도록 설정한다. (아이디 중복 검사)

 - 비밀번호 확인을 위해 비밀번호를 두 번 입력받아 일치하는지 확인한다.

   (이때 비밀번호 확인을 위해 한 번 더 입력받은 정보는 데이터베이스에 굳이 저장할 필요가 없으므로 변수처리하여 수행)

package userEx.app;

import java.util.Scanner;

import userEx.dao.UserExDao;
import userEx.dto.UserExDto;

public class UserJoining {
public static void main(String[] args) {
		
	Scanner sc = new Scanner(System.in);
	
	//데이터 준비
	// - 입력 항목 : 아이디, 비밀번호, 닉네임, 연락처, 생년월일, 이메일, 주소
	// - 13개의 항목 중에서 9개를 입력받아야 한다
	UserExDto dto = new UserExDto();
	//9개의 정보 설정 코드 중 필수 입력 정보 미리 삽입(4개)
	System.out.println("<회원가입>");
	System.out.print("아이디(*) : ");
	dto.setUserId(sc.nextLine());
	
	//상세조회로 아이디 중복검사
	UserExDao dao = new UserExDao();
	UserExDto find = dao.selectOne(dto.getUserId());	//dto의 명을 변경
	if(find != null) {
		System.out.println("이미 사용중인 아이디입니다.");
		System.exit(0);	//프로그램 종료
	}
	
	System.out.print("비밀번호(*) : ");
	dto.setUserPassword(sc.nextLine());
	
	//비밀번호 확인
	//가입에 쓰이는 정보가 아니므로 변수를 만들어서 처리
	//	= 데이터베이스에 넣어둘 필요가 없기 때문에 변수로 처리
	System.out.print("비밀번호 확인(*) : ");
	String UserPwCheck = sc.nextLine();
	if(!dto.getUserPassword().equals(UserPwCheck)) {	//비밀번호가 일치하지 않으면
		System.out.println("비밀번호를 동일하게 입력하세요");
		System.exit(0);
	}
	
	System.out.print("닉네임(*) : ");
	dto.setUserNickname(sc.nextLine());
	System.out.print("이메일(*) : ");
	dto.setUserEmail(sc.nextLine());
	//선택 항목 받기
	System.out.print("생년월일 : ");
	dto.setUserBirthdate(sc.nextLine());
	System.out.print("연락처 : ");
	dto.setUserPhone(sc.nextLine());
	System.out.print("우편번호 : ");
	dto.setUserZipcode(sc.nextLine());
	System.out.print("기본주소 :  ");
	dto.setUserAddressLine1(sc.nextLine());
	System.out.print("상세주소 : ");
	dto.setUserAddressLine2(sc.nextLine());
	
	
	sc.close();
	
	//처리
	dao.insert(dto);
	
	//출력
	System.out.println("회원 가입 완료");
		
	}
}

출력결과

 

 

 

 

 

개인 공부 기록용입니다:)

728x90