@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 |