게시판 만들어 보기(ID 중복 체크하기) - (6)
1. ID 중복 체크 기능 만들어보기
members 테이블의 기존 회원 정보를 가지고 ID 중복 체크 기능을 구현하여 확인해 보겠습니다.
1.1 Main 클래스 생성하기 (클래스명 : MemberIdCheck)
package com.board.main;
import java.util.Scanner;
import com.board.dao.MemberDao;
public class MemberIdCheck {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("중복 체크할 id를 입력해주세요.");
String id = sc.next();
boolean chkId = false; // 아이디 중복 체크용 boolean 변수를 chkId를 생성합니다. 초기값은 false로 지정합니다.
MemberDao dao = new MemberDao();
// MemberDao 클래스의 IsIdCheck메소드를 id 객체를 매개변수로 호출하여 결과값을 반환받습니다.
chkId = dao.IsIdCheck(id);
if(chkId == true) { // id가 존재함
System.out.println(id + "는(은) 이미 존재하여 사용 불가합니다.");
}else {
System.out.println(id + "는(은) 사용 가능합니다.");
}
}
}
1.2 ID 중복 체크 기능 구현하기 (메소드 명 : IsIdCheck)
public boolean IsIdCheck(String id) {
// 회원 테이블에 해당 id가 존재하면, true를 반환합니다.
String sql = "select * from members where id = ?";
boolean chkId = false; // boolean 변수 chkId를 생성하며, 초기값은 false로 지정해줍니다.
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = super.getConnection();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, id);
rs = pstmt.executeQuery();
if(rs.next()) { // sql문의 결과가 존재하면 chkId 값을 true로 바꿔 줍니다.
chkId = true;
}
} catch (Exception e) {
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
try {
if(pstmt != null){pstmt.close(); }
if(conn != null){conn.close(); }
} catch (Exception e2) {
e2.printStackTrace();
}
}
return chkId; // 결과값을 호출해왔던 곳으로 반환합니다.
}
1.3 구현한 기능 확인하기