Guide Line Project - getAllCustomers() 구현, List<> 사용

myminimin·2023년 7월 20일
0

JAVA

목록 보기
9/21

  • CusDAOImpl 클래스 전체 코드
// CusDAOImpl 클래스
import java.util.ArrayList;
import java.util.List;

public class CusDAOImpl implements CusDAO {
.
(생략)
.
   @Override
	public List<CusDTO> getAllCustomers() {
		List<CusDTO> customers = new ArrayList<>();
		conn= null;
		stmt = null;
		rs = null;
		
		
		try {
			conn = JDBCUtil.getConnection();
			stmt = conn.prepareStatement("SELECT * FROM customer");
			rs = stmt.executeQuery();
			
			while (rs.next()) {
				String id = rs.getString("customer_id");
				String name = rs.getString("name");
				String tel = rs.getString("tel");
				customers.add(new CusDTO(id, name, tel));
			}
					
		} catch (SQLException e) {
			System.out.println("SELECT문에서 SQLException이 발생했습니다. getAllCustomers method를 확인하세요. 오류 : " + e.getMessage());
		} finally {
			JDBCUtil.close(rs);
			JDBCUtil.close(stmt);
			JDBCUtil.close(conn);
		}
			
		return customers;
	}
  • 코드가 어떻게 실행되는지를 하나씩 살펴보자!!

  • 이제 Main 클래스에서 이 메서드를 이용하기만 하면 된다!
// Main 클래스 (import는 getAllCustomers()에 사용할 것만 가져옴)
import java.util.List;
CusDAO cusdao = new CusDAOImpl();
.
.


public class CusMain {
    public static void main(String[] args) {
.
(생략)
.

if(menuNo.equals("1")) {
			List<CusDTO> customers = cusdao.getAllCustomers();
			for (CusDTO customer : customers) {
				System.out.println("아이디 : " +customer.getId());
				System.out.println("이름 : " +customer.getName());
				System.out.println("전화번호 : " +customer.getTel());
			}

메서드가 실행되는 과정은 이렇다!

아래는 출력 결과이다. List<>를 수업 시간에 배우긴 했는데 정확히 어떤 것인지 어느 상황에서 사용해야하는지를 몰랐는데 오늘 코드를 구현하면서 써보니 조금은 이해가 된다!!! 아직 완벽하게 이해가 되지는 않아서 더 많은 코드를 봐야할 것 같다. 🤨🤨🤨

0개의 댓글