DAO,VO

Hwawon_2·2022년 2월 24일
0
post-thumbnail

UserDAO에 메서드를 하나 만들어 줍니다.
메서드는 punlic void로 만듭니다.
update에는 uId, uPw, uName, uEmail이 다 필요로 하기 때문에
다 써줍니다.

java와 DB연동해주고 (Connection)
PreparedStatement 객체를 생성해줍니다.
(ResultSet은 SELECT구문에만 필요함)

try블럭 진입후 DB연결을 해주는데 요한 URL, ID, PW는 상단에 멤버변수로 이미 존재하고 있기 때문에 안써주셔도 됩니다.

쿼리문을 작성하는데 ?표가 4개 있고 물음표는
변수가 들어올자리를 말하고 이 물음표는
위에서 메서드 만들때 불러온 uId, uPw, uName, uEmail 을 껴주면 됩니다. 그래서 해석하자면
첫번째 물음표에 uPw를 넣어라 가 된다.
두번째 물음표에 uName를 넣어라...

pstmt.executeUpdate(); 이용해 DB에 업데이트 구문을 날려줍니다.

try로 열었던 부분을 catch로 닫아줍니다.

그리고 update_check.jsp로 넘어와서
form에서 보낸 비번, 이름, 이메일을 변수로 먼저 저장해주고
session에 저장된 아이디도 변수로 저장해줍니다.

DAO를 생성해주고
위에서 만든 update로직을 호출해주시면 됩니다.

(List는 두줄 이상나올때
UserVO는 한줄
쿼리문을 DB에 날렸을 때 케이스 3가지

  1. row 2줄 이상이 결과로 나올 수 있는 경우(List 리턴)
    예) SELECT * FROM 테이블명;
    -> 해당 테이블의 전체 데이터를 조회해오기때문에 몇 개가 나올지 모르고
    해당 테이블에 적재된 데이터가 2줄 이상이면 결과도 복수로 나올 수 있음

  2. row가 1줄이 결과로 나오는 경우(VO 리턴)
    예) SELECT * FROM 테이블명 WHERE 프라이머리키컬럼=?;
    -> PK는 중복된 데이터가 저장될 수 없기 때문에 무조건 결과가 하나만 나옵니다.
    그래서 무조건 1줄이거나 아이디가 없다면 0줄인 경우

  3. 결과가 없는 경우(void 리턴)
    SELECT가 아닌 UPDATE, DELETE, INSERT를 사용했을때는 결과가 나올 수 없습니다.
    )

profile
코딩 일기장

0개의 댓글