1. 계정 테이블 및 로우데이터 생성
2. 계정 관련 CRUD 기능 구현
1) MemberDao.register() : 회원가입 기능
- MemberDao : register()
public void register(Member member) {
try {
//클래스 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
// connection 취득
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/xe",
"odoung", "1234");
// 문장 생성
String sql = "INSERT INTO TBL_MEMBER VALUES (?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 파라미터 바인딩
int idx = 1;
pstmt.setString(idx++, member.id);
pstmt.setString(idx++, member.pw);
pstmt.setString(idx++, member.name);
// 문장 실행(반영)
pstmt.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
- MemberService : register()
public void register() {
System.out.println("회원 가입");
Scanner scanner = new Scanner(System.in);
System.out.println("아이디 > ");
String id = scanner.nextLine();
System.out.println("비밀번호 > ");
String pw = scanner.nextLine();
System.out.println("이름 > ");
String name = scanner.nextLine();
Member member = new Member(id, pw, name);
new MemberDao().register(member);
}
2) MemberDao.modify() : 정보 수정 기능
- MemberDao : modify()
public void modify(Member member) {
try {
//클래스 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
// connection 취득
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/xe",
"odoung", "1234");
// 문장 생성
String sql = "UPDATE TBL_MEMBER SET\r\n" +
"PW = ?,\r\n" +
"NAME = ?\r\n" +
"WHERE ID = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 파라미터 바인딩
int idx = 1;
pstmt.setString(idx++, member.pw);
pstmt.setString(idx++, member.name);
pstmt.setString(idx++, member.id);
// 문장 실행(반영)
pstmt.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
- MemberService : modify()
public Member member; // null(비로그인), 주소가 있는 상태(로그인)
public void modify() {
System.out.println("회원 정보 수정");
Scanner scanner = new Scanner(System.in);
System.out.println("비밀번호 > ");
String pw = scanner.nextLine();
System.out.println("이름 > ");
String name = scanner.nextLine();
Member member = new Member(this.member.id, pw, name);
new MemberDao().modify(member);
this.member = member;
}
3) MemberDao.remove() : 회원 탈퇴 기능
- MemberDao : remove()
public void remove(String id) {
try {
//클래스 로드
Class.forName("oracle.jdbc.driver.OracleDriver");
// connection 취득
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/xe",
"odoung", "1234");
// 문장 생성
String sql = "DELETE TBL_MEMBER\r\n" +
"WHERE ID = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
// 파라미터 바인딩
pstmt.setString(1, id);
// 문장 실행(반영)
pstmt.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
- MemberService : remove()
public Member member; // null(비로그인), 주소가 있는 상태(로그인)
public void remove() {
System.out.println("회원 탈퇴");
new MemberDao().remove(member.id);
logout();
}