PROJECT

Project(3)-2. 회원가입

삼색이삼랑해 2022. 10. 14. 16:36

  Controller

private void JoinData() {
    MemberDto data = new MemberDto();        
    dView.JoinView(data);
}

  View

public void JoinView(MemberDto data) {
    subTitle("회원가입");
    data.setM_id(ioc.inStr("ID : "));
    
    String mid = data.getM_id();
    boolean checkId = dDao.idCheck(mid);

    if (!checkId) {
        data.setM_pwd(ioc.inStr("PWD : "));
        data.setM_name(ioc.inStr("NAME : "));
        data.setM_phone(ioc.inStr("PHONE : "));
        data.setM_birth(ioc.inStr("BIRTH(yyyy-mm-dd) : "));
        
        int res = dDao.JoinDao(data);
        
        if (res == 0) {
            ioc.twoPrint("회원가입 실패");
        } else {
            ioc.twoPrint("회원가입 성공");
        }
    } else {
        ioc.twoPrint("ID가 중복되었습니다.");
    }
}

사용자가 id를 입력하면 Dao의 idCheck()로 가 DB 내에 해당 아이디가 있는지 중복 체크하고 만약 없다면(false) 각 정보를 입력할 수 있게 하고, 반대로 있다면(true) id가 중복되었다는 문장을 띄어준다.

 

  Dao

- 아이디 중복 체크

public boolean idCheck(String id) {
    String query = "SELECT * FROM membertbl WHERE m_id = ?";

    try {
        conn = DriverManager.getConnection(url, user, pass);
        pstmt = conn.prepareStatement(query);
        pstmt.setString(1, id);
        rs = pstmt.executeQuery();
        
        check = rs.next();

    } catch(Exception e) {
        //
    } finally {
        close();
    }

    return check;
}

 

- 회원가입 입력

public int JoinDao(MemberDto data) {
    int res = 0;

    String query = "INSERT INTO membertbl VALUES (?,?,?,?,?)";

    try {
        conn = DriverManager.getConnection(url, user, pass);
        pstmt = conn.prepareStatement(query);

        pstmt.setString(1, data.getM_id());
        pstmt.setString(2, data.getM_pwd());
        pstmt.setString(3, data.getM_name());
        pstmt.setString(4, data.getM_phone());
        pstmt.setDate(5, Date.valueOf(data.getM_birth()));
        
        res = pstmt.executeUpdate();
    } catch (SQLException e) {
        res = 0;//삽입 실패
    } finally {
        close();
    }
    
    return res;
}