본문 바로가기
IT/spring

Spring JdbcTemplate의 update 메서드

by 뉴코딩맨 2023. 6. 21.
Spring 프레임워크에서는 JdbcTemplate 클래스를 사용하여 데이터베이스 작업을 수행할 수 있습니다. JdbcTemplate은 SQL 문을 실행하고 데이터베이스를 갱신하는 데 사용되는 중요한 기능 중 하나입니다. JdbcTemplate의 update 메서드에 대해 소개하고, 사용법과 예시를 설명하겠습니다.

 

 

update 메서드란?

update 메서드는 JdbcTemplate에서 제공하는 메서드 중 하나로, 데이터베이스 테이블을 갱신하는 작업에 사용됩니다. 이 메서드는 INSERT, UPDATE, DELETE와 같은 데이터베이스 변경 작업을 수행할 때 사용됩니다. update 메서드는 SQL 쿼리와 매개변수 배열을 인자로 받으며, 실행된 쿼리의 결과로 영향을 받은 행의 수를 반환합니다.
 
 

사용법

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

public class EmployeeDAO {
    private JdbcTemplate jdbcTemplate;

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

    public void updateEmployeeSalary(int employeeId, double newSalary) {
        String sql = "UPDATE employees SET salary = ? WHERE id = ?";
        jdbcTemplate.update(sql, newSalary, employeeId);
    }
}
 
위의 예시에서는 updateEmployeeSalary 메서드를 사용하여 직원의 급여를 갱신합니다. SQL 문은 UPDATE employees SET salary = ? WHERE id = ?로 정의되고, 두 개의 매개변수 newSalary와 employeeId를 전달하여 쿼리를 실행합니다.
 
 

예시

다음은 update 메서드를 사용하여 학생 정보를 업데이트하는 예시입니다.
 
public class StudentDAO {
    private JdbcTemplate jdbcTemplate;

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

    public void updateStudentName(int studentId, String newName) {
        String sql = "UPDATE students SET name = ? WHERE id = ?";
        jdbcTemplate.update(sql, newName, studentId);
    }
}
 
위의 예시에서는 updateStudentName 메서드를 사용하여 학생의 이름을 갱신합니다. SQL 문은 UPDATE students SET name = ? WHERE id = ?로 정의되고, 두 개의 매개변수 newName과 studentId를 전달하여 쿼리를 실행합니다.
 
 

결론

Spring JdbcTemplate의 update 메서드는 데이터베이스 테이블을 갱신하는 작업에 유용하게 사용됩니다. 이 메서드를 사용하면 INSERT, UPDATE, DELETE와 같은 데이터베이스 변경 작업을 간편하게 수행할 수 있습니다. JdbcTemplate을 사용하여 데이터베이스 작업을 처리하는 경우, update 메서드는 매우 유용한 도구입니다.
 

댓글