● 회원가입
- 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("로그인 실패");
}
