스프링/5. 스프링 DB-1

10. DataSourceDriverManager

sdafdq 2023. 9. 28. 14:40
@Slf4j
public class ConnectionTest {
    @Test
    public void dataSourceDriverManager() throws SQLException {
        DriverManagerDataSource dataSource = new DriverManagerDataSource(URL, USERNAME, PASSWORD);
        userDataSource(dataSource);
    }

    private void userDataSource(DataSource dataSource) throws SQLException {
        Connection con1 = dataSource.getConnection();
        Connection con2 = dataSource.getConnection();
        log.info("connection = {}, class = {}", con1, con1.getClass());
        log.info("connection = {}, class = {}", con2, con2.getClass());
    }
}

그냥 사용을 이렇게 하면 된다.

DriverManagerDataSource는 스프링에서 제공해 주는거다.

 

여기서 중요한 점은, 사용과 설정을 분리시켰다는 거다.

 

이게 무슨 말인가 하면,

원래 우리가 커넥션을 획득할 때 

 

@Slf4j
public class DBConnectionUtil {
    public static Connection getConnection(){
        try {
            Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            log.info("get connection={}, class={}",connection,connection.getClass());
            return connection;
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

이렇게 계속해서 URL, USERNAMEE, PASSWORD를 넘겼다.

 

근데 위에서는 처음 생성자로 설정 할 때만 설정정보를 넘겨주고, 그 뒤는 그냥 datasource.getConnection() 해서 사용한다.

 

참고로 DriverManagerDataSource는 DataSource의 구현체 중 하나이다.

 

 

'스프링 > 5. 스프링 DB-1' 카테고리의 다른 글

12. 커넥션 풀 적용  (0) 2023.09.28
11. 히카리 커넥션 풀  (0) 2023.09.28
9. DataSource  (0) 2023.09.28
8. 커넥션 풀  (0) 2023.09.28
7. 수정, 삭제  (0) 2023.09.28