controller인 서블릿에서 Service를 거쳐 받아온 Connection의 연결정보와 유저 데이터인 객체 클래스의 데이터를 최종적으로 DAO에서 db에 쿼리문을 작성해서 보내므로써 결과를 받아와 Service로 반환한다
유저정보가 뭐가 올지 모르기에 유동적인 정보를 받을 수 있는 PreparedStatement로 쿼리문을 보내고,
유저의 로그인 정보(pw, address, phone, nickname 등) 전체를 받아와야하기에 객체를 받는 ResultSet으로 결과값을 받고
if문으로 로그인정보 전체를 가져올 수 있게 조건을 ResultSet reset의 값이 있는지 reset.next()로 다음 값이 있으면 가져오게끔 해서 getString()로 컬럼 항목 하나씩 객체에 저장하면 Service로 return할 객체 정보 추출 완료
마지막으로 try catch와 사용한 객체를 닫아주기 위해 close 해주고 반환 타입 확인 후 return
public Member login(Connection conn, Member mem){
PreparedStatement pstmt = null;
ResultSet rset = null;
Member loginC = null;
String query = "SELECT * FROM MEMBER WHERE USER_ID = ? AND USER_PWD = ?";
try{
pstmt = conn.prepareStatement(query);
pstmt.setString(1, m.getId());
pstmt.setString(2, m.getPwd());
rset = pstmt.executeQuery();
if(rset.next()){
loginC = new Member(rset.getString("USER_ID"),
rset.getString("USER_PWD"),
rset.getString("USER_NAME"),
rset.getString("PHONE"));
}
} catch(SQLException e){
e.printStackTrace();
} finally{
close(rset);
close(pstmt);
}
return loginUser;
}
'small steps > 1일 1코딩 - 코딩을 내 몸처럼' 카테고리의 다른 글
[1일1코딩][CSS] 자손 선택자 + hover (0) | 2022.05.03 |
---|---|
[1일1코딩][Java-JDBC] MVC패턴 Template클래스의 getConnection메소드 (0) | 2022.05.02 |
[1일1코딩][Java-JDBC] MVC패턴 Service클래스 - 로그인 메소드 (0) | 2022.04.30 |
[1일1코딩][Java-JDBC] 외부파일 로드용 Properties 클래스 (0) | 2022.04.29 |
[1일1코딩][Java-JDBC] MVC패턴 Template클래스 - 각종 객체의 close기능 메소드 & 트랜잭션 기능 메소드 (0) | 2022.04.28 |