본문 바로가기
IT/spring

Spring JdbcTemplate의 queryForInt 메서드

by 뉴코딩맨 2023. 6. 22.
Spring 프레임워크에서는 JdbcTemplate 클래스를 사용하여 데이터베이스 작업을 수행할 수 있습니다. JdbcTemplate은 데이터베이스와 상호작용하기 위한 다양한 메서드를 제공합니다. JdbcTemplate의 queryForInt 메서드에 대해 소개하고, 사용법과 예시를 설명하겠습니다.
 
 

queryForInt 메서드란?

queryForInt 메서드는 JdbcTemplate에서 제공하는 메서드 중 하나로, 단일 값을 조회하는 작업에 사용됩니다. 이 메서드는 주어진 SQL 쿼리를 실행하고 결과로 반환되는 정수 값을 반환합니다. 결과가 단일 값인 경우에 사용하며, 결과가 없거나 여러 개의 결과가 있는 경우 IncorrectResultSizeDataAccessException 예외가 발생합니다.
 
 

사용법

queryForInt 메서드를 사용하기 위해서는 먼저 JdbcTemplate 객체를 생성해야 합니다. JdbcTemplate은 데이터베이스 연결 정보를 가지고 있어야 하므로 DataSource를 설정해야 합니다. 다음은 JdbcTemplate 객체를 생성하고 queryForInt 메서드를 호출하는 예시입니다.
 
import org.springframework.jdbc.core.JdbcTemplate;

public class EmployeeDAO {
    private JdbcTemplate jdbcTemplate;

    public void setDataSource(DataSource dataSource) {
    	this.jdbcTemplate = new JdbcTemplate(dataSource);
    }

    public int getEmployeeCount() {
        String sql = "SELECT COUNT(*) FROM employees";
        int count = jdbcTemplate.queryForInt(sql);
        return count;
    }
}
 
위의 예시에서는 getEmployeeCount 메서드를 사용하여 직원의 수를 조회합니다. SQL 문은 SELECT COUNT(*) FROM employees로 정의되고, queryForInt 메서드를 통해 쿼리를 실행하여 결과로 반환되는 직원 수를 가져옵니다.

 

 

예시

다음은 queryForInt 메서드를 사용하여 학생의 성적 평균을 조회하는 예시입니다.
 
public class StudentDAO {
    private JdbcTemplate jdbcTemplate;

    public void setDataSource(DataSource dataSource) {
    	this.jdbcTemplate = new JdbcTemplate(dataSource);
    }

    public double getAverageScore() {
        String sql = "SELECT AVG(score) FROM students";
        double average = jdbcTemplate.queryForInt(sql);
        return average;
    }
}
 
위의 예시에서는 getAverageScore 메서드를 사용하여 학생들의 성적 평균을 조회합니다. SQL 문은 SELECT AVG(score) FROM students로 정의되고, queryForInt 메서드를 통해 쿼리를 실행하여 결과로 반환되는 성적 평균을 가져옵니다.

 

 

결론

Spring JdbcTemplate의 queryForInt 메서드는 단일 값을 조회할 때 유용한 메서드입니다. 이를 통해 SQL 쿼리의 결과로 반환되는 정수 값을 쉽게 가져올 수 있습니다.

 

 

Spring JdbcTemplate 클래스

Spring 프레임워크는 데이터베이스와의 상호작용을 위해 JdbcTemplate 클래스를 제공합니다. JdbcTemplate은 JDBC(Java Database Connectivity) 작업을 보다 간편하게 처리할 수 있도록 도와주는 유용한 도구입니

newcodingman.tistory.com

 

댓글