DataSource - DriverManager

박찬우·2024년 2월 1일

스프링 DB

목록 보기
7/53

DriverManager

  • 커넥션을 획득할 때 마다 URL , USERNAME , PASSWORD 같은 파라미터를 계속 전달해야 한다.
@Test
void driverManager() throws SQLException {
	Connection connection1 =
			DriverManager.getConnection(ConnectionConst.URL, ConnectionConst.USERNAME, ConnectionConst.PASSWORD);
	Connection connection2 =
			DriverManager.getConnection(ConnectionConst.URL, ConnectionConst.USERNAME, ConnectionConst.PASSWORD);
}

DriverManagerDataSource

  • 처음 객체를 생성할 때만 필요한 파리미터를 넘겨두고, 커넥션을 획득할 때는 단순히 dataSource.getConnection() 만 호출하면 된다.
  • 설정과 사용의 분리
    • 설정
      • DataSource 를 만들고 필요한 속성들을 사용해서 URL , USERNAME , PASSWORD 같은 부분을 입력하는 것을 말한다. 이렇게 설정과 관련된 속성들은 한 곳에 있는 것이 향후 변경에 더 유연하게 대처할 수 있다.
    • 사용
      • 설정은 신경쓰지 않고, DataSourcegetConnection() 만 호출해서 사용하면 된다.
    • 리포지토리(Repository)는 DataSource 만 의존하고, 이런 속성을 몰라도 된다
@Test
void dataSourceDriverManager() throws SQLException {
	DataSource dataSource =
			new DriverManagerDataSource(ConnectionConst.URL, ConnectionConst.USERNAME, ConnectionConst.PASSWORD);
	useDataSource(dataSource);
}

private void useDataSource(DataSource dataSource) throws SQLException {
	Connection con1 = dataSource.getConnection();
	Connection con2 = dataSource.getConnection();
}
profile
진짜 개발자가 되어보자

0개의 댓글