Data Access Object 의 줄임말로, 데이터베이스와의 상호작용을 담당하는 클래스이다.
보통 DAO 클래스는 데이터베이스의 CRUD(Create, Read, Update, Delete) 작업을 수행하는 메소드들을 정의하고, 해당 메소드들을 사용하여 데이터베이스와의 상호작용을 처리합니다.
이러한 구조는 애플리케이션의 로직과 데이터베이스의 구조를 분리시켜서 유지보수를 쉽게 만들어주는 장점이 있습니다.
// 필드
// JDBC 객체 참조 변수
private Statement stmt; // SQL 수행, 결과 반환
private PreparedStatement pstmt; // placeholder를 포함한 SQL 세팅/수행
private ResultSet rs; // SELECT 수행 결과 저장
private Properties prop;
// - Map<String, String> 형태
// - XML 파일 입/출력 메서드를 제공
public MainDAO() { // 기본 생성자
// DAO 객체가 생성될 때 XML 파일을 읽어와 Properties 객체에 저장
try {
prop = new Properties();
prop.loadFromXML(new FileInputStream("main-sql.xml"));
// -> Properties 객체에
// key:value 형식으로 xml내용이 저장됨
// -> prop.getProperty("key") 호출
// --> value (SQL) 반환
}catch (Exception e) {
e.printStackTrace();
}
}
DAO 객체가 생성될 때 XML 파일을 읽어와 Properties 객체에 저장하는 부분에서 IOException 등의 예외가 발생할 수 있기 때문이다.
만약 예외 처리를 하지 않으면, 파일을 읽어올 수 없는 경우 프로그램이 예외를 던지고 종료될 수 있습니다.
따라서 예외 처리를 해주면, 파일을 읽어오지 못했을 경우 프로그램이 종료되지 않고 예외를 처리하여 문제를 해결할 수 있습니다.