본문 바로가기
IT/spring

Spring JdbcDaoSupport 클래스 상속

by 뉴코딩맨 2023. 6. 22.
Spring 프레임워크에서 JdbcDaoSupport는 데이터베이스와 상호 작용하는 DAO(Data Access Object)를 개발할 때 도움을 주는 유틸리티 클래스입니다. JdbcDaoSupport 클래스의 상속에 대해 자세히 알아보고, 사용 방법과 예시를 알아보겠습니다.
 
 

JdbcDaoSupport 클래스란?

JdbcDaoSupport 클래스는 Spring 프레임워크에서 제공하는 추상 클래스로, 데이터베이스와 상호 작용하는 DAO를 개발할 때 편리한 기능을 제공합니다. 이 클래스는 JdbcTemplate을 사용하여 데이터베이스 작업을 처리하고, 템플릿 메소드 패턴을 활용하여 일반적인 데이터 액세스 작업을 구현합니다.
 
 

상속 방법

JdbcDaoSupport 클래스를 상속하여 DAO 클래스를 개발하는 방법은 다음과 같습니다.
public class EmployeeDao extends JdbcDaoSupport {
	// DAO 구현 내용
}
  1. DAO 클래스에서 JdbcDaoSupport를 상속합니다.
  2. JdbcDaoSupport를 상속한 DAO 클래스에서 JdbcTemplate을 사용하여 데이터베이스 작업을 처리합니다. JdbcTemplate은 JdbcDaoSupport 클래스에서 제공되는 메소드를 통해 접근할 수 있습니다.
 
 

예시

다음은 JdbcDaoSupport 클래스 상속의 예시입니다.
 
public class EmployeeDao extends JdbcDaoSupport {

    public List<Employee> getAllEmployees() {
        String sql = "SELECT * FROM employees";
        List<Employee> employees = getJdbcTemplate().query(sql, new EmployeeRowMapper());
        return employees;
    }

    public void saveEmployee(Employee employee) {
        String sql = "INSERT INTO employees (id, name) VALUES (?, ?)";
        getJdbcTemplate().update(sql, employee.getId(), employee.getName());
    }

	// 다른 DAO 메소드들
}
 
위의 예시에서는 EmployeeDao 클래스가 JdbcDaoSupport를 상속하고 있습니다. getAllEmployees 메소드는 데이터베이스에서 모든 직원을 조회하여 리스트로 반환하고, saveEmployee 메소드는 주어진 직원을 데이터베이스에 저장합니다. JdbcTemplate은 getJdbcTemplate() 메소드를 통해 접근하며, SQL 쿼리를 실행하고 결과를 반환하는 메소드들을 활용합니다.
 
 

결론

Spring JdbcDaoSupport 클래스를 상속하여 DAO 클래스를 개발하면 데이터베이스와의 상호 작용을 보다 간편하게 처리할 수 있습니다. JdbcDaoSupport 클래스는 JdbcTemplate을 활용하여 데이터 액세스 작업을 추상화하고 일반화하므로, 개발자는 더욱 효율적으로 데이터베이스와 상호 작용할 수 있습니다.
 

댓글