게으른 완벽주의자의 개발자 도전기
DB와 연결하여 데이터 이동하기4(회원 상세페이지) 본문
회원 아이디를 눌렀을 때 상세페이지로 이동하여 상세페이지 화면 구현
1. 회원 아이디 a태그로 상세페이지로 이동하기
아이디를 이용한 이유는 primary key(데이터 구분 기준)로 ID를 사용했기 때문
<a href="member_detail.me?id=${member.id }">${member.id }</a>
2. DAO
DB에서 데이터 가져올 것이기 때문에 void에 return 값이 필요하다
(아이디를 데이터 구분 기준으로 삼기에 매개변수로 id를 넣어준다)
public MemberDTO memberDetail(String id) {
상세조회는 회원 1명의 자료를 담을 통이 필요하다
!!위치 중요함!! select 자료 담을 통을 생성한다.
MemberDTO detail = new MemberDTO();
★자바에서는 * 안쓴다 모든 컬럼 작성해줘야한다!
sql ="SELECT ID"
+ ", PW"
+ ", NAME"
+ ", AGE"
+ ", EMAIL"
+ ", TELL"
+ ", GENDER"
+ " FROM MEMBER"
+ " WHERE ID= ?";
try {
-자바와 DB연결
conn = JDBCUtil.getConnection();
-쿼리를 준비
stmt = conn.prepareStatement(sql);
- ?값 세팅
stmt.setString(1, id);
-쿼리를 실행
rs = stmt.executeQuery();
while(rs.next()) {
detail.setId(rs.getString("ID"));
detail.setPw(rs.getString("PW"));
detail.setName(rs.getString("NAME"));
detail.setAge(rs.getInt("AGE"));
detail.setEmail(rs.getString("EMAIL"));
detail.setTell(rs.getString("TELL"));
detail.setGender(rs.getString("GENDER"));
}
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtil.close(rs, stmt, conn);
}
return detail;
3. Controller
else if(command.equals("/member_detail.me")) {
- a태그에서 받은 id자료를 받는다
String id = request.getParameter("id");
- 상세조회 자료 메소드를 실행할건데
자료형은 MemberDTO이고, 변수명은 detail이야
MemberDTO detail = memberDAO.memberDetail(id);
request.setAttribute("member", detail);
page = "member_detail.jsp";
4. jsp
이름: ${member.name } <br>
ID: ${member.id }<br>
PW: ${member.pw }<br>
나이: ${member.age }<br>
연락처: ${member.tell }<br>
이메일: ${member.email }<br>
성별: ${member.gender }<br>
'servlet jsp' 카테고리의 다른 글
DB와 연결하여 데이터 이동하기6(회원정보 수정하기) (0) | 2022.07.31 |
---|---|
DB와 연결하여 데이터 이동하기5(회원정보 삭제) (0) | 2022.07.31 |
DB와 연결하여 데이터 이동하기3(회원 가입 페이지) (0) | 2022.07.31 |
DB와 연결하여 데이터 이동하기2(회원목록페이지, status) (0) | 2022.07.31 |
DB와 연결하여 데이터 이동하기1(Controller, DAO, JDBCUtil 만들기) (0) | 2022.07.31 |