public class Mdao {
//01입력처리 메서드 선언
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<Member> alm = null;
// 로그인 성공시에 DB에서 id과 일치하는 행의 id,level,name 컬럼 값을 조회하는 메소드
public Member mGetForSession(String in_id) throws ClassNotFoundException, SQLException {
System.out.println("mGetForSession 호출 완료");
DriverDB db = new DriverDB(); // 생성자 메소드로 DB 객체 생성
System.out.println(db + " : db 객체의 참조 주소값");
conn = db.driverDbcon(); // driverDbcon메소드를 호출하여 Connection 객체 생성(DB연결)
// prepareStatement 메소드로 PreparedStatement객체 생성(쿼리문 실행 준비)
pstmt = conn.prepareStatement("select m_id, m_level, m_name from tb_member where m_id=?");
pstmt.setString(1, in_id);
System.out.println(pstmt + "<==pstmt 쿼리문 조회");
rs = pstmt.executeQuery(); // 쿼리문 실행 후 조회된 테이블 ResultSet 객체에 저장
Member member = new Member(); // 읽어낸 값 Member 객체에 세팅할 준비.
if(rs.next()) { // rs 객체내의 테이블의 행을 조사한다.
member.setM_id(rs.getString("m_id")); // set 메소드를 호출하여 값을 세팅
member.setM_level(rs.getString("m_level"));
member.setM_name(rs.getString("m_name"));
}
if (rs != null) { //rs 객체 종료
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) { //pstmt 객체 종료
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) { // conn 객체 종료
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return member; //member 객체 주소값 리턴
}
// 로그인 성공, 비번확인,아이디 확인하는 메소드
public int mLoginCheck(String in_id,String in_pw) throws ClassNotFoundException, SQLException {
System.out.println("mLoginCheck 호출 완료");
DriverDB db = new DriverDB(); // 생성자 메소드로 DB 객체 생성
System.out.println(db + " : db 객체의 참조 주소값");
conn = db.driverDbcon(); // driverDbcon메소드를 호출하여 Connection 객체 생성(DB연결)
// prepareStatement 메소드로 PreparedStatement객체 생성(쿼리문 실행 준비)
pstmt = conn.prepareStatement("select m_pw from tb_member where m_id=?");
pstmt.setString(1, in_id);
System.out.println(pstmt + "<==pstmt 쿼리문 조회");
rs = pstmt.executeQuery();// 쿼리문 실행 후 조회된 테이블 ResultSet 객체에 저장
int ok = 0; //리턴할 값 저장할 변수 초기화.
if(rs.next()) { // rs 테이블내의 행 조회
if(rs.getString("m_pw").equals(in_pw)) { // 조회된 m_pw 컬럼의 값이 in_pw 변수내의 값과 일치 할 경우 로그인 성공 1 리턴
System.out.println("로그인 성공");
ok = 1;
} else {
System.out.println("비번 불일치"); // 다를 경우 실패 2 리턴
ok = 2;
}
} else {
System.out.println("아이디 불일치"); // 아이디가 다를경우 실패 3리턴
ok = 3;
}
if (rs != null) {//rs 객체 종료
try {
rs.close();
} catch (SQLException e) { //pstmt 객체 종료
e.printStackTrace();
}
}
if (pstmt != null) { // conn 객체 종료
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return ok; // ok에 담긴 값 리턴
}