Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

게으른 완벽주의자의 개발자 도전기

DB와 연결하여 데이터 이동하기4(회원 상세페이지) 본문

servlet jsp

DB와 연결하여 데이터 이동하기4(회원 상세페이지)

머리방울 2022. 7. 31. 23:15

회원 아이디를 눌렀을 때 상세페이지로 이동하여 상세페이지 화면 구현

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>