[MVC SPRING] 09. 회원리스트 가져오기(묶고(VO)-담고(List))
안녕하세요. Nerd-Lee입니다.
공부 내용은, 인프런 박매일님의
[NarP Series]MVC 프레임워크는 내 손에[나프1탄]
을 참고하였습니다.
MVC 1단계인, Servlet 환경으로만 만들어보고, MVC 2단계로 넘어가고
나중에는 Spring Framework를 사용하는 방식의 강의입니다.
MVC 1단계는, Controller + Model 만을 사용하는 방식입니다.
진도가 빠르게 나가지 않아, 중요하다고 생각하는 부분들만 작성할 예정입니다.
1. unique key 만들기
- 기존 회원테이블에 id를 unique key로 만들어서, 아이디가 중복이 될 경우 테이블에 추가를 못하게 만든다.
-- 테이블 삭제하기
drop table member;
-- 테이블 생성
create table member(
number int primary key auto_increment,
id varchar(20) not null,
password varchar(20) not null,
name varchar(30) not null,
age int not null,
email varchar(30) not null,
phone varchar(30) not null,
unique key(id)
);
2. MemberListController 및 DAO 메서드 구현하기
- member 테이블에 저장되어 있는 데이터들을 가져와서 출력해주는 서블릿을 하나 만든다.
- 이름은
MemberListController
다. - MemberDAO에서 전체 회원리스트를 가져오는 메서드를 구현한다.
- 이번 select 쿼리는 executeUpdate가 아닌 executeQuery 라는 메서드로, 실행을 시킨다.
실행을 하면, 반환값은 ResultSet이기 때문에, 위에 만들어준 ResultSet 형 변수 rs로 대입시킨다. - 그리고
rs.next()
라는 함수를 이용해서, 값을 받아올 수 있을 때까지 받아온다. - 그 다음, ArrayList를 만들어서, 값을 저장하면 된다.
// 전체 회원 리스트 가져오기
public ArrayList<MemberVO> memberGetList() {
String SQL = "select * from member";
// 데이터베이스 연결
getConnect();
ArrayList<MemberVO> list = new ArrayList<MemberVO>();
try {
ps = conn.prepareStatement(SQL);
rs = ps.executeQuery();
while(rs.next()) {
int number = rs.getInt("number");
String id = rs.getString("id");
String password = rs.getString("password");
String name = rs.getString("name");
int age = rs.getInt("age");
String email = rs.getString("email");
String phone = rs.getString("phone");
MemberVO vo = new MemberVO(number, id, password, name, age, email, phone);
list.add(vo);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
dbClose();
}
return list;
}
// 데이터베이스 연결 해제
public void dbClose() {
try {
if(rs != null) {
rs.close();
}
if(ps != null) {
ps.close();
}
if(conn != null) {
conn.close();
}
}
catch(Exception e) {
e.printStackTrace();
}
}
이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
다음 글로 찾아오겠습니다!