본문 바로가기

Java

[IT국비지원교육_코딩_비전공자] Servlet실습(1)/ 데이터베이스 연동/dao 클래스 활용

Dao 클래스 list ( ) 조회 기능

public List<MemberVo> list() { // list의 타입은 list

List<MemberVo> list = new ArrayList<MemberVo>();

// list에서 사용될 타입이 제너릭 안의 타입 > add될 타입이 MemberVo

try {

// 예외 예상되는 코드 (커넥션 따오는 부분이랑 기능 쿼리에서 익셉션 발생 가능성이 높으니까

// try catch문에 작성해서 예외 상황 방지

conn = DBConn.getConnection();  // DBConn.getConnection()에 의해 conn에 커넥션타입의 객체가 담긴다

String query = "SELECT * FROM T_MEMBER";    // 문자열 리터럴이 스트링타입 쿼리 객체에 담긴다

pstmt = conn.prepareStatement(query);

// prepareStatement 메서드의 입력값으로 query(문자열 타입)를 사용해서 호출하면 prepareStatement타입의 인스턴스가 반환(return)되어 > 대입연산자에 의해 담긴다    

ResultSet rs = pstmt.executeQuery();  // 쿼리 실행한 결과 데이터를 rs 에 저장한다

// 결과집합(쿼리 실행 결과 ex. select의 결과물)statement(sql문장)를 통해 값을 저장할 수 있고

// 이때 사용하는 메서드는 executeQuery()

// while 문안의 조건식 결과값은 true false로 반환 > next행 할 데이터가 더이상 없으면 false 되면서 while탈출쓰

while (rs.next()) { // while 문 안의 조건식이 참일 경우 구현부 안의 문장 실행한다

int idx = 1;

//String id = rs.getString("id"); //next메서드 호출 > get메서드 파라미터에 컬럼명 사용하여 해당 행 커서 후 데이터 불러온다 (불러온 데이터값을 좌측 id 객체에 대입연산하여 담기)

//String pwd = rs.getString("pwd");

//String name = rs.getString("name");

//String email = rs.getString("email");

//Date joinDate = rs.getDate("joinDate");

//

//MemberVo vo = new MemberVo(id, pwd, name, email, joinDate);

//System.out.println(vo);