IT/Spring & Spring Boot

[Spring Boot] JdbcTemplate 사용하기

땅일단 2023. 11. 18. 22:50

보통은 JPA나 Mybatis를 쓰겠지만 정적 쿼리문을 가볍게 쓸 때 사용합니다.

 

JdbcConfig.java

@Configuration
public class JdbcConfig {
    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setUsername("test");
        dataSource.setPassword("test123");
        dataSource.setDriverClassName("org.mariadb.jdbc.Driver");
        dataSource.setUrl("jdbc:mariadb://192.168.0.123:3306/TESTDB");

        return dataSource;
    }

    @Bean
    public JdbcTemplate jdbcTemplate(){
        return new JdbcTemplate(dataSource());
    }
}

 

위 코드에서처럼 데이터베이스 정보가 포함된 JdbcTemplate Bean을 등록해주고, 원하는 서비스에서 @Autowired나 @RequiredArgsConstructor로 JdbcTemplate를 의존성 주입해서 쓰시면 됩니다.

예시는 아래 코드를 확인해주세요.

 

TestService.java

@RequiredArgsConstructor
public class TestService {
    private final JdbcTemplate jdbcTemplate;
    
    public void updateSalary() {
    	String sql = "update employee set salary=? where seq=?";
    	jdbcTemplate.update(sql, 9999999999, 1);
    }
}

(사심들어간거 아님)