본문 바로가기

DBMS

[DBMS] 22

회원가입

- dBeaver에서 가져온 INSERT문을 'query'에 적용

	public boolean join(TBL_MEMBER_VO member) {
		String query = "INSERT INTO TBL_MEMBER" + 
			"(NUM, ID, PW, NAME, AGE)" + 
			"VALUES(MEMBER_SEQ.NEXTVAL, ?, ?, ?, ?)";
		boolean check = false;
		try {
			conn = DBConnecter.getConnection();
			pstm = conn.prepareStatement(query);
			pstm.setString(1, member.getId());
			pstm.setString(2, encrypt(member.getPw()));
			pstm.setString(3, member.getName());
			pstm.setInt(4, member.getAge());
			if(pstm.executeUpdate() == 1) { check = true; }
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if(pstm != null) {
					pstm.close();
				}
				if(conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				throw new RuntimeException();
			}
		}
		return check;
	}
 

 

※ dBeaver에서 TBL_MEMBER를 INSERT문으로 가져오기

TBL_MEMBER의 ER Diagram 우클릭 → [Generate SQL] → [INSERT] → [COPY]

로그인

	public boolean login(String id, String pw) {
		String query = "SELECT COUNT(ID) FROM TBL_MEMBER"
				+ "WHERE ID = ? AND PW = ?";
		boolean check = false;
		try {
			conn = DBConnecter.getConnection();
			pstm = conn.prepareStatement(query);
			pstm.setString(1, id);
			pstm.setString(2, encrypt(pw));
			rs = pstm.executeQuery();
			
			rs.next();
			
			if(rs.getInt(1) == 1) { check = true; }
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				if(rs != null) {
					rs.close();
				}
				if(pstm != null) {
					pstm.close();
				}
				if(conn != null) {
					conn.close();
				}
			} catch (SQLException e) {
				throw new RuntimeException();
			}
		}
		return check;
	}
 

 

단방향 암호화

	public String encrypt(String pw) {
		String en_pw = "";
		for (int i = 0; i < pw.length(); i++) {
			en_pw += (char)(pw.charAt(i) * KEY);
		}
		return en_pw;
	}

 

 
결과

실행

1. 회원가입

public class User {
	public static void main(String[] args) {
		TBL_MEMBER_DAO dao = new TBL_MEMBER_DAO();

		TBL_MEMBER_VO vo = new TBL_MEMBER_VO();
		vo.setId("ddd1234");
		vo.setPw("5555");
		vo.setName("홍길동");
		vo.setAge(10);
		
		if(dao.join(vo)) {
			System.out.println("회원가입 성공");
		} else {
			System.out.println("회원가입 실패");
		}
	}
}

 

 
결과

※ dBeaver에서 확인

결과

 

2. 아이디 중복 체크(사용 가능한 아이디)

if(dao.checkId("ddd12345")) {
	System.out.println("사용 가능한 아이디");
} else {
	System.out.println("중복된 아이디");
}

 

 
결과

 

3. 아이디 중복 체크(중복된 아이디)

if(dao.checkId("ddd1234")) {
	System.out.println("사용 가능한 아이디");
} else {
	System.out.println("중복된 아이디");
}

 

 
결과

 

4. 로그인

if(dao.login("ddd1234", "12534")) {
	System.out.println("로그인 성공");
} else {
	System.out.println("로그인 실패");
}

 

 
결과

'DBMS' 카테고리의 다른 글

[DBMS] 21  (0) 2021.11.19
[DBMS] 20  (0) 2021.11.16
[DBMS] 19  (0) 2021.11.14
[DBMS] 18  (0) 2021.11.13
[DBMS] 17  (0) 2021.11.11